我遵循了Firebase Cloud Messaging中提到的setup process。但是以某种方式从未调用过onTokenRefresh。
以下是这方面的更改:
应用程式的build.gradle:
dependencies {
...
compile 'com.google.firebase:firebase-messaging:9.4.0'
}
apply plugin: 'com.google.gms.google-services'
项目的
build.gradle:
dependencies {
classpath 'com.android.tools.build:gradle:2.1.2'
classpath 'com.google.gms:google-services:3.0.0'
}
AndroidManifest.xml
<application
...
<service
android:name="com.blynq.app.services.MyFirebaseMessagingService">
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT"/>
</intent-filter>
</service>
<service
android:name="com.blynq.app.services.MyFirebaseInstanceIDService">
<intent-filter>
<action android:name="com.google.firebase.INSTANCE_ID_EVENT"/>
</intent-filter>
</service>
</application>
public class MyFirebaseInstanceIDService extends FirebaseInstanceIdService {
@Override
public void onTokenRefresh() {
String token = FirebaseInstanceId.getInstance().getToken();
Log.i("FCM", "Token refreshed - " + token);
registerTokenWithServer(token);
}
}
记录状态
I/FirebaseInitProvider: FirebaseApp initialization successful
,但是不执行onTokenRefresh()。我肯定丢失了一些东西,但无法理解在哪里。
编辑:仅发生在模拟器上,Android设备在上述设置下工作正常。
最佳答案
关于android - FCM-永不调用onTokenRefresh(),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38955257/