0

我准备的应用程序正在使用 GCM 从服务器获取推送通知。

模拟器正在收到推送通知,但当我在设备上安装相同的应用程序时,我的设备没有收到推送通知。

我已向服务器提供了 SENDER_ID 和 API 密钥。注册 ID 和设备 ID 通过代码发送。

我正在使用以下代码获取设备 ID:

TelephonyManager telephonyManager1 =(TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
device_id = telephonyManager1.getDeviceId();

自过去 2 天以来,我一直遇到这个问题,但直到现在都无法解决。非常感谢任何帮助。

4

2 回答 2

1

您是否在 GCM 中注册了设备?要获取注册 ID,您必须执行以下代码:

在 onCreate() 方法中,添加以下代码:

GCMRegistrar.checkDevice(this);
GCMRegistrar.checkManifest(this);
final String regId = GCMRegistrar.getRegistrationId(this);
if (regId.equals("")) {
  GCMRegistrar.register(this, SENDER_ID);
} else {
  Log.v(TAG, "Already registered");
}

在这里,您将获得 regId,您必须将其发送到服务器,以便服务器可以向具有上述 regId 的设备发送推送通知。

如需更多帮助,请参阅此处

已编辑

您也可以在此处参考此链接

于 2012-09-14T13:27:24.943 回答
0

问题已解决,因为问题来自服务器端。

在 GCM 中,我们不需要提供设备 ID。但只需要发送者 ID、注册 ID 和 API 密钥。

于 2012-10-16T05:36:17.273 回答