2012-03-07 30 views
3

我有一個關於Android中的BroadcastReceiver的問題,比如系統廣播接收機BOOT_COMPLETED。如果在系統啓動並安裝之後,我已將監聽器寫入廣播。 android系統如何知道它必須通知我的應用程序,因爲我的應用程序沒有運行,只是安裝了?是不是,所有BroadcastReceiver派生類總是在內存中(或者系統在啓動後將它們加載到內存中),並且每當發生任何廣播時,所有相關的應用程序都可以接收它。廣播接收機如何在Android中工作

感謝 Braj

回答

2

當廣播BOOT_COMPLETED發送,Android系統會檢查加載應用程序的清單,看看是否有任何的意思來處理消息。隱含意圖和所有廣播也是如此。

清單是面向公衆的,並允許系統知道您的應用程序可以做什麼以及將做什麼。

+0

感謝您的回覆。這是否意味着所有的清單總是在記憶中?這是因爲,一旦我們安裝了任何應用程序,它就會存儲。 – Androidme 2012-03-08 10:37:20

+0

這不完全準確。清單文件在安裝應用程序時被解析並註冊到Android系統。發送意圖時實際上不會發生文件操作,而是檢查從解析的清單構建的內部數據結構。 – 2012-03-09 00:16:55

+0

@Chris - 感謝您的澄清 – Androidme 2012-03-09 10:25:31