2013-07-04 110 views
1

我打算在我的android项目中使用推送通知,当我开始我的应用程序,然后GCM检查getRegistrationId(),它返回空,我的设备上次注册的时间和GCM也给了一个注册ID。为什么当我的设备已经注册时,它总是要求注册()。Android GCM给予每次同一设备的新注册ID

final String regId = GCMRegistrar.getRegistrationId(this); 
    if (regId.equals("")) { 
     GCMRegistrar.register(this, SENDER_ID); 
    } else { 
     if (GCMRegistrar.isRegisteredOnServer(this)) { 
    } 

回答

0

是,谷歌可以更新您的ID,你需要更新你的应用服务器上的新的ID与设备

0

在Android开发者文档进行沟通,这是明确指出,

“请注意, Google可能会定期刷新注册ID,因此您应该在设计Android应用程序时明白com.google.android.c2dm.intent.REGISTRATION意图可能会被多次调用,您的Android应用程序需要能够做出相应的响应。“

这回答你的问题。

+0

感谢Nargis ji,但是如果我注册了一次设备,那么这个密钥会在GCM服务器上持续多久才会侦听来自我自己的服务器对应于此密钥的请求。 –

+0

这只Google可以回答:) – Nargis