posts - 101,  comments - 29,  trackbacks - 0

          BroadCastReceiver用于監(jiān)聽(tīng)被廣播的事件(Itent)

          為了達(dá)到這個(gè)目的,我們就必須進(jìn)行BroadCastReceiver注冊(cè),注冊(cè)共兩種方法:

          <1>在應(yīng)用程序代碼中進(jìn)行注冊(cè)

          這種注冊(cè)方法比較靈活,我們想什么時(shí)候注冊(cè)就什么時(shí)候注冊(cè),什么時(shí)候關(guān)閉就什么時(shí)候關(guān)閉。

          注冊(cè)BroadCastReceiver:

          registerReeiver(receiver,filter)

          取消BroadCastReceiver:

          unregisterReeiver(receiver)

          如果一個(gè)BroadCastReciver用于更新UI,通常會(huì)使用這種方法進(jìn)行注冊(cè),Activity啟動(dòng)時(shí)就注冊(cè)BroadCastReciver,Activity不可見(jiàn)時(shí)就取消注冊(cè)。

          步驟:1 生成一個(gè)BroadCastReceiver對(duì)象

                     2 生成一個(gè)Intentfilter對(duì)象

                     3 為Intentfilter對(duì)象添加一個(gè)Action


           

          <2>在AndroidManifest.xml當(dāng)中進(jìn)行注冊(cè)

          用這種方法注冊(cè)的有如下一種特點(diǎn):

          用這種方法注冊(cè)的應(yīng)用程序的及時(shí)關(guān)閉了,BroadCastReceiver依然會(huì)接收到廣播出的一個(gè)對(duì)象,也就是說(shuō)無(wú)論應(yīng)用程序關(guān)與開(kāi),都處于一種活動(dòng)狀態(tài)中,都接受到廣播事件。
          有的應(yīng)用程序就需要這種特點(diǎn)。

          例如,開(kāi)發(fā)一種應(yīng)用程序,來(lái)檢測(cè)手機(jī)的耗電量。

          我們不能總要求應(yīng)用程序打開(kāi),我們希望應(yīng)用程序及時(shí)關(guān)閉了,也能照樣檢測(cè)手機(jī)的耗電量。

          但是,我們?nèi)绻_(kāi)發(fā)的應(yīng)用程序來(lái)更新手機(jī)控件,采用這種方式就不太合適了。只有我們看到Activity,我們更新控件采用意義。

          如果沒(méi)看到Activity還照樣更新,除了耗電,消耗內(nèi)存外,一點(diǎn)好處也沒(méi)有。所以就需要第一種方法。

          posted on 2012-01-31 20:28 mixer-a 閱讀(148) 評(píng)論(0)  編輯  收藏

          只有注冊(cè)用戶(hù)登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 天柱县| 闻喜县| 霸州市| 松桃| 延寿县| 青岛市| 长寿区| 仁化县| 沽源县| 隆安县| 伊吾县| 洞头县| 西乡县| 饶河县| 北宁市| 扶风县| 昌都县| 从江县| 岳阳县| 温州市| 娱乐| 柞水县| 万载县| 宝山区| 吉木萨尔县| 泗水县| 南川市| 襄垣县| 喜德县| 新乡市| 虎林市| 大埔区| 荣成市| 察哈| 辰溪县| 葫芦岛市| 平南县| 澄城县| 泾阳县| 定襄县| 临江市|