2013-01-07 57 views
0

我一直在閱讀有關gcm的文檔,我知道我必須註冊才能接收我主ActivityonCreate方法上的GCM消息。但是,如果我的應用程序具有不同的入口點,該怎麼辦?我需要在哪裏設置將應用程序註冊到GCM的代碼?我需要在每個作爲入口點的Activity的每個onCreate方法中寫GCMRegistrar.register(this, Constants.GCM_PROJECT_ID)嗎?有沒有其他方法?註冊接收Android的GCM,在哪裏和多少次?

一個入口點是主要的Activity,但用戶也可以從通知跳轉到詳細信息屏幕。

謝謝!

+1

寫在應用類的onCreate只有 –

回答

1

您可以爲您的應用程序定義一個應用程序類別,您可以在應用程序啓動時註冊GCM,而無需關心接收相應意圖的活動。

http://developer.android.com/reference/android/app/Application.html

檢查onCreate方法

+0

好吧,其實我想過這是做的最好的辦法。然而,應用程序類不會在每次打開應用程序時調用,因爲它是單例並保留在內存中。因此,令牌可能會過期,直到應用程序完全停止並重新啓動後纔會刷新令牌。我是對的嗎? –

+0

好吧,我錯了,現在我明白了。我不需要每次打開應用程序時進行註冊,因爲如果註冊ID過期,Google會將新註冊ID自動發送到我的IntentService。 –

+0

準確地說,你只需要收到過期的id廣播,就更新它 – noni