我在两台设备上测试fcm。
在一个具有API级别23的onTokenRefresh方法的设备上被调用。
在API级别为19的另一台设备上,从未调用onTokenRefresh方法。
// MyFirebaseInstanceIdService类
public class MyFirebaseInstanceIDService extends FirebaseInstanceIdService {
private static final String TAG = "MyFirebaseIIDService";
@Override
public void onTokenRefresh() {
// Get updated InstanceID token.
String refreshedToken = FirebaseInstanceId.getInstance().getToken();
Log.d(TAG, "Refreshed token: " + refreshedToken);
sendRegistrationToServer(refreshedToken);
}
//清单
<application>
...
<service android:name=".Services.MyFirebaseInstanceIDService"
android:enabled="true"
android:exported="true">
<intent-filter>
<action android:name="com.google.firebase.INSTANCE_ID_EVENT" />
</intent-filter>
</service>
</application>
//的build.gradle
implementation 'com.google.firebase:firebase-messaging:11.6.0'
implementation 'com.google.firebase:firebase-core:11.6.0'
// build.gradle
classpath 'com.google.gms:google-services:3.2.0'
重新安装应用无助于解决此问题。