2

我在android ICS(版本4)和broadcastReceiver上遇到問題。請幫助:android - 在android ICS(版本4)上使用broadcastReceiver

我試圖聽一個簡單的網絡連接改變意圖。我已經嘗試過下一個教程(在單獨的清單中定義的broadcastReceiver - 網站的第一部分): http://www.xinotes.org/notes/note/1526/ 在ICS上,它沒有捕獲任何意圖,並且在任何其他版本上它工作得很好。

任何人都可以告訴我什麼是錯的?我需要添加一個新的意圖過濾器,而不是偵聽CONNECTIVITY_CHANGE的過濾器嗎? 已阻止谷歌在ICS上收聽此類意圖?是否還有其他ICS新規則發生了變化?

我認爲其他broadcastReceivers也不會在使用清單的ICS上工作。

+0

嗯..你可能會錯過幾件事情。發佈一些代碼,清單以及可能的日誌。 – 2012-01-31 17:24:58

+0

@ Kumar Bibek:代碼在鏈接上。請閱讀。 – 2012-02-01 13:38:19

回答

3

該鏈接中顯示的示例代碼可能有效,但它需要一個活動。在Android 3.1+上,應用程序以「停止」狀態安裝。在該狀態下,不會有BroadcastReceiver工作,直到用戶從應用程序手動啓動活動爲止。如果用戶強制停止應用程序的設置,應用程序將返回到「停止」狀態。

因此,爲您的項目添加一個活動,啓動一次,然後查看您的接收器是否工作。

+0

你有什麼參考資料可以閱讀這些信息嗎? 也是,他們爲什麼要這樣做?它打破了許多應用程序可能的工作方式。這是爲了安全嗎?是否有任何BroadcastReceivers仍然在沒有安裝的情況下收聽?引導意圖呢? – 2012-02-01 13:40:19

+0

@androiddeveloper:「你有沒有任何參考資料可以讀取這些信息?」 http://developer.android.com/sdk/android-3.1.html#launchcontrols「是否有任何BroadcastReceivers仍然可以在沒有安裝的情況下收聽?啓動意圖是什麼?」不,不。 – CommonsWare 2012-02-01 13:49:36

+0

哎呀,我的意思是「沒有跑步」。它仍然是正確的嗎?我聽說過一些應用程序,一旦您的設備被盜,您可以選擇使用市場進行安裝,然後它會告訴您設備的位置,甚至允許您刪除它的數據。這是否意味着現在這些應用程序將無法工作(除非小偷打開它們)? – 2012-02-01 14:57:05