我准备的应用程序正在使用GCM从服务器获取推送通知。
模拟器正在获取推送通知,但是当我在设备上安装相同的应用程序时,我的设备没有收到推送通知。
我已向服务器提供了SENDER_ID和API密钥。注册ID和设备ID通过代码发送。
我使用以下代码获取设备ID:
TelephonyManager telephonyManager1 =(TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
device_id = telephonyManager1.getDeviceId();
自从过去2天以来我一直坚持这个问题,但到目前为止还无法解决。任何帮助都非常感谢。
答案 0 :(得分: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的设备发送推送通知。
如需更多帮助,请参阅here
<强> EDITED 强>
您也可以参考此链接HERE
答案 1 :(得分:0)
问题已解决,因为问题来自服务器端。
在GCM中,我们不需要提供设备ID。但只需要发件人ID,注册ID和api密钥。