我在我的项目中使用FCM。这是通过以下文档完成的。它在Android 4.4及更高版本上运行良好。但是在使用Android版本4.3安装和清除Nexus 7上的数据后,我使用FirebaseInstanceId.getInstance().getToken()
得到了空值。似乎没有调用onTokenRefresh()
并且不生成令牌。这就是我提出这个问题的原因。我还检查了Google Play服务,以确保它具有此方法的更新版本。
public static boolean checkGooglePlayService(Activity context) {
final int PLAY_SERVICES_RESOLUTION_REQUEST = 9000;
GoogleApiAvailability apiAvailability = GoogleApiAvailability.getInstance();
int resultCode = apiAvailability.isGooglePlayServicesAvailable(context);
if (resultCode != ConnectionResult.SUCCESS) {
if (apiAvailability.isUserResolvableError(resultCode)) {
apiAvailability.getErrorDialog(context, resultCode, PLAY_SERVICES_RESOLUTION_REQUEST).show();
}
return false;
}
return true;
}