2013-07-04 59 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