我已经为Android Wear手表创建了应用程序。现在俄罗斯(乌里扬诺夫斯克市)有一台设备,加拿大(多伦多市)有一台设备。两种设备的任何Google Play服务设置和版本都相同。但俄罗斯在获取FirebaseInstanceId令牌方面没有任何问题,并且" FirebaseInstanceId:令牌检索失败:SERVICE_NOT_AVAILABLE"加拿大例外。
设备: - Ticwatch E,Wear OS Google 1.01-1.3,Google Play Services 12.6.85,OS Android 7.1-8.0
FCMRegistrationIntentService是扩展FirebaseInstanceIdService的类,在Android Manifest中声明:
<service
android:name=".gcm.FCMRegistrationIntentService"
android:permission="false">
<intent-filter>
<action android:name="com.google.firebase.INSTANCE_ID_EVENT"/>
</intent-filter>
</service>
FCMRegistrationIntentService:
public class FCMRegistrationIntentService extends FirebaseInstanceIdService {
@Override
public void onTokenRefresh() {
// Get updated InstanceID token.
String refreshedToken = FirebaseInstanceId.getInstance().getToken();
}
private void sendRegistrationToServer(String token) {
// TODO: Implement this method to send token to your app server.
}
}
在主代码中调用令牌:
FirebaseInstanceId.getInstance().getToken();
以俄语返回正确的令牌,在加拿大返回null(因为最初&#34; FirebaseInstanceId:令牌检索失败:SERVICE_NOT_AVAILABLE&#34;)