Проблема с .getToken () в версии AndroidX - PullRequest
1 голос
/ 13 апреля 2020

Я использую последнюю версию android (Androidx). .setValue(deviceToken) не определяет функцию deviceToken внутри OnSuccessListener. Я установил implementation 'com.google.firebase:firebase-messaging:20.0.1' в build.gradle

FirebaseInstanceId.getInstance().getInstanceId().addOnSuccessListener( new OnSuccessListener<InstanceIdResult>() 
{
     @Override
     public void onSuccess(InstanceIdResult instanceIdResult) 
    {
     String deviceToken = instanceIdResult.getToken();
     Log.e("newToken",deviceToken);
    }
});

RootRef.child("Users").child(currentUserId).child("device_token")
                                        .setValue(deviceToken);

1 Ответ

0 голосов
/ 13 апреля 2020

Вы можете использовать addOnCompleteListener: он отлично работает.

FirebaseInstanceId.getInstance().getInstanceId().addOnCompleteListener(new OnCompleteListener<InstanceIdResult>() {
        @Override
        public void onComplete(@NonNull Task<InstanceIdResult> task) {
                if(!task.isSuccessful()){
                    Log.w("newToken", "getInstanceId failed", task.getException());
                }else{
                    String deviceToken = task.getResult().getToken();
                    Log.e("newToken",deviceToken);
                    RootRef.child("Users").child(currentUserId).child("device_token")
                            .setValue(deviceToken);
                }

        }
    });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...