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