对于这款运行android 4.1.1(huawei y300-0151)的手机,我无法获得registration ID
。但是,对于我的nexus 4和注释2,我收到了注册ID。
new AsyncTask<Void, String, String>() {
@Override
protected String doInBackground(Void... params) {
String msg = "";
try {
if (gcm == null) {
gcm = GoogleCloudMessaging.getInstance(context);
}
regid = gcm.register(SENDER_ID);
msg = "Device registered, registration ID=" + regid;
在这一行=&gt; regid = gcm.register(SENDER_ID);
它返回“java.io.IOException:SERVICE_NOT_AVAILABLE”......这是什么意思。
另外奇怪的是,只有在Google Play管理器中的以下方法中使用此手机,if语句(resultCode != ConnectionResult.SUCCESS)
才会导致系统警告,无效int =“”。
public boolean checkPlayServices() {
int resultCode = GooglePlayServicesUtil.isGooglePlayServicesAvailable(this.mainScreenActivity);
if (resultCode != ConnectionResult.SUCCESS) {
if (GooglePlayServicesUtil.isUserRecoverableError(resultCode)) {
GooglePlayServicesUtil.getErrorDialog(resultCode,
this.mainScreenActivity,
PLAY_SERVICES_RESOLUTION_REQUEST).show();
} else {
Log.i("tag", "This device is not supported.");
mainScreenActivity.finish();
}
return false;
}
return true;
}
http://developer.android.com/reference/com/google/android/gms/gcm/GoogleCloudMessaging.html
public static final String ERROR_SERVICE_NOT_AVAILABLE
设备无法读取响应,或者服务器中有500/503
可以稍后重试。应用程序应使用指数退避并重试。
任何建议都会有所帮助,我已经仔细检查了所有权限/明显的代码,它确实适用于大多数设备。
谢谢,Ryan
答案 0 :(得分:1)
确保Google Play服务在此手机上有效