是否有什麼錯誤的事實是,我每次登錄到我的Android應用程序時,我所做的第一件事就是註冊到GCM。 我知道沒有必要這樣做,但爲了檢查註冊ID是刷新到新的還是一樣的,我打算重新註冊。明確重新註冊設備到GCM
final String regId = GCMRegistrar.getRegistrationId(this);
if (regId.equals("")) {
GCMRegistrar.register(this, SENDER_ID);
} else {
Log.v(TAG, "Already registered");
}
我也想知道如果通過重新註冊GCM我不知何故迫使註冊ID過期。
謝謝!!!
謝謝。我想我跳過了GCM發送給客戶端的那部分註冊ID的廣播。你能寫信給我或者請教一個如何捕捉這個廣播信息的例子嗎?:)比你! –
對不起,我現在找不到一段代碼,但如果您閱讀http://stackoverflow.com/questions/17891399/should-applications-call-gcm-register-every-seven-days-to-ensure-有效註冊/ 17892487#17892487,它應該是直截了當,就像你實現其他廣播接收器。實際的文檔不提供代碼sniplets,但只是提到了上述事情。 –
@justME你不需要定義一個新的'BroadcastReceiver'。您只能在'GCMBroadcastReciever'中處理' ''。把它放在'intent-filter'裏面。每當你收到廣播時,檢查'action'是否是'com.google.android.c2dm.intent.REGISTRATION'。然後你可以通過從意圖中提取ID來更新ID。現在希望它有點清楚。 –