非常仔细地遵循了Google 的 GCM 示例,但仍然遇到了令人沮丧的错误。在这里没有找到答案,所以我想我会记录下来以备将来参考。
我相当确定我已使用正确的权限等正确设置了清单(按照上面的示例进行操作)......但是这段代码总是导致 IOException 并解释为“MAIN_THREAD”。
String regid = "";
try {
GoogleCloudMessaging gcm = GoogleCloudMessaging.getInstance(getApplicationContext());
String sender_id = getResources().getString(R.string.GCM_sender_id);
regid = gcm.register(sender_id);
Log.d(TAG, "Device registered, registration id=" + regid);
}
catch (IOException ex) {
Log.e(TAG, "Device registration failed", ex);
}
我试图通过单步执行来找到问题,所以当然在主线程上执行了这段代码。回想起来,答案很明显......但我会在下面输入。