我第一次使用C2DM,並且正在尋求一般性建議,我如何實現以下功能: 在收到C2DM消息後,我決定: - 如果應用程序在當前活動將顯示「警報彈出」。 - 如果程序沒有打開,我想將消息發送到通知欄(類似於新的電子郵件,短信,微博等)應用程序關閉時接收意圖廣播
我們有一個GlobalBroadcastReceiver extends BroadcastReceiver
它實現public void onReceive(Context context, Intent intent)
。這是只有收件人登記在AndroidManifest.xml
。
所以基本上我們所有的廣播都是通過這個接收器傳輸的,第一種情況是沒有問題的。
但是,我想知道如何解決第二個問題。我如何確保即使在我的應用程序關閉時我也能收到C2DM.RECEIVE廣播,然後:如何才能通知用戶有關傳入數據?
我超級自信已經有很多的解決方案,但因爲我找不到它們,我想我只是缺少一些更大的圖片。
請您詳細說明這個部分請詳細一點嗎? 「讓活動爲您自己的廣播註冊高優先級的BroadcastReceiver,並讓另一個清單註冊的BroadcastReceiver爲您自己的廣播實現普通優先級的BroadcastReceiver。」我明天也會檢查一下。我需要安靜的時間來測試所有這些:) – yoshi 2012-04-27 15:07:40
@yoshi:我專門提供了超鏈接到博客文章和一個示例項目,以提供更多細節。 – CommonsWare 2012-04-27 15:11:11
對不起,遲到的迴應。就在收到你的回答後,我對整個c2dm系統有了一點戲劇性。我喜歡你在文章中描述的模式。真的很好用這種方式使用有序的廣播。無論如何,閱讀後我意識到所有的工作已經完成。我只是不明白,即使沒有活動運行,清單中註冊的BroadcastReceiver也會執行。甜蜜:) – yoshi 2012-05-03 19:38:19