Android:无法获取Android设备4.1.1的注册ID返回“java.io.IOException:SERVICE_NOT_AVAILABLE”

时间:2014-04-08 19:42:47

标签: android google-cloud-messaging

对于这款运行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;
}

EDIT !!!!! - &gt;我在android网站上找到了这个信息

http://developer.android.com/reference/com/google/android/gms/gcm/GoogleCloudMessaging.html

public static final String ERROR_SERVICE_NOT_AVAILABLE

设备无法读取响应,或者服务器中有500/503可以稍后重试。应用程序应使用指数退避并重试。

常数值:“SERVICE_NOT_AVAILABLE”

任何建议都会有所帮助,我已经仔细检查了所有权限/明显的代码,它确实适用于大多数设备。

谢谢,Ryan

1 个答案:

答案 0 :(得分:1)

确保Google Play服务在此手机上有效