我遵循了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/

10-09 15:59