我想知道为什么addCompleteListener()不能解决,但我提供了必要的依赖关系:

classpath 'com.google.gms:google-services:4.2.0'


implementation 'com.google.firebase:firebase-core:16.0.6'
implementation 'com.google.firebase:firebase-iid:17.0.4'
implementation 'com.google.firebase:firebase-messaging:17.3.4'
implementation 'com.firebase:firebase-jobdispatcher:0.8.5'


我遵循了这个问题,但没有任何运气。

下面是我的代码,我想获取设备注册令牌:

FirebaseInstanceId.getInstance().getInstanceId()
                .addCompleteListener(LoginActivity.this,new OnCompleteListener<InstanceIdResult>() {
                    @Override
                    public void onComplete(@NonNull Task<InstanceIdResult> task) {
                        if (!task.isSuccessful()) {
                            return;
                        }
                        String token = task.getResult().getToken();
                        String msg = getString(R.string.fcm_token, token);
                        Log.d("--> FCM Token ", msg);

                    }
                });


以下是屏幕截图:

Stackoverflow same question

是什么导致这个问题?

最佳答案

要解决此问题,请更改以下代码行:

FirebaseInstanceId.getInstance().getInstanceId().addCompleteListener(/* ... */);




FirebaseInstanceId.getInstance().getInstanceId().addOnCompleteListener(/* ... */);
//                                                  ^^


没有addCompleteListener方法,它是addOnCompleteListener()

07-26 00:55