BroadCastReceiver用于監聽被廣播的事件(Itent)
為了達到這個目的,我們就必須進行BroadCastReceiver注冊,注冊共兩種方法:
<1>在應用程序代碼中進行注冊
這種注冊方法比較靈活,我們想什么時候注冊就什么時候注冊,什么時候關閉就什么時候關閉。
注冊BroadCastReceiver:
registerReeiver(receiver,filter)
取消BroadCastReceiver:
unregisterReeiver(receiver)
如果一個BroadCastReciver用于更新UI,通常會使用這種方法進行注冊,Activity啟動時就注冊BroadCastReciver,Activity不可見時就取消注冊。
步驟:1 生成一個BroadCastReceiver對象
2 生成一個Intentfilter對象
3 為Intentfilter對象添加一個Action
<2>在AndroidManifest.xml當中進行注冊
用這種方法注冊的有如下一種特點:
用這種方法注冊的應用程序的及時關閉了,BroadCastReceiver依然會接收到廣播出的一個對象,也就是說無論應用程序關與開,都處于一種活動狀態中,都接受到廣播事件。
有的應用程序就需要這種特點。
例如,開發一種應用程序,來檢測手機的耗電量。
我們不能總要求應用程序打開,我們希望應用程序及時關閉了,也能照樣檢測手機的耗電量。
但是,我們如果開發的應用程序來更新手機控件,采用這種方式就不太合適了。只有我們看到Activity,我們更新控件采用意義。
如果沒看到Activity還照樣更新,除了耗電,消耗內存外,一點好處也沒有。所以就需要第一種方法。