这真让我烦恼。我有一个使用GCM的应用程序,GCM可以在除SAMSUNG NEXUS 4之外的所有设备上运行。它总是给我" SERVICE_NOT_AVAILABLE"错误。
以下是我用于注册的代码段。
private class GCMregisterAsyncTask extends AsyncTask<Void, Void, String> {
@Override
protected String doInBackground(Void... params) {
String msg = "";
int count = 0;
do {
try {
if (gcm == null) {
gcm = GoogleCloudMessaging.getInstance(context);
}
regId = gcm.register(GOOGLE_PROJECT_ID);
msg = "Device registered with GCM Server. Id= " + regId;
storeRegistrationId(context, regId);
} catch (IOException ex) {
msg = "Error :" + ex.getMessage();
this.cancel(true);
this.execute();
}
count++;
Logger.debug("count" + count);
} while (count <= 3);
return msg;
}
@Override
protected void onPostExecute(String msg) {
if (msg != null && !msg.contains("error")) {
//Success
}
}
}
提前完成。