第1課廣播接收者分類_第1頁
第1課廣播接收者分類_第2頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、廣播分類基礎(chǔ)知識(shí)一、廣播的分類:廣播分為無序廣播(也稱普通廣播)和有序廣播。1、無序廣播:通過ContexdBroadcast()方法來發(fā)送,無序廣播它是完全異步的,邏輯上可以在同一時(shí)刻被所有匹配的接收者接收到,所以消息傳遞效率比較高,但是所有的receivers()的執(zhí)行順序不確定,因此所有的 receivers 接收 broadcast的順序不確定。無序廣播不可以被,不可以被終止,不可以被修改。在無序廣播中,任何接收者只要匹配條件都可以接收到,且無優(yōu)先級問題。如果想傳遞數(shù)據(jù),則可以調(diào)用ent.putExtra()方法傳遞,接收者可通過ent.get 相應(yīng)方法接收數(shù)據(jù)。2、有序廣播:通過Co

2、ntexdOrderedBroadcast()方法來發(fā)送,所有的 receivers 按照順序依次執(zhí)行。1) 執(zhí)行順序:可以通過在ent-filter 中設(shè)置 android:priority 屬性(priority 屬性值從-10001000,數(shù)值越大,優(yōu)先級別就越高)來設(shè)置 receiver 的優(yōu)先級,也可以調(diào)用entFilter 對象的 setPriority()方法來設(shè)置,優(yōu)先級相同的 receiver 其執(zhí)行順序不確定。如果 BroadcastReceiver 是代碼中動(dòng)態(tài)的話,且其ent-filter擁有相同android:priority 屬性的話,先的將先收到廣播。2) 數(shù)據(jù)傳

3、遞:優(yōu)先接收到Broadcast 的receiver 可通過 setResultExtras(Bundle)方法將處理結(jié)果存入 Broadcast 中,下一個(gè) receiver 也可以通過 Bundlebundle=getResultExtras(true)方法獲取上一個(gè) receiver 傳來的數(shù)據(jù)。需要注意的是這里傳遞的是一個(gè) Bundle 對象,也就是可以傳多種類型的數(shù)據(jù)。BroadcastReceiver 中通過 Bundundle = getResultExtras(false)取得Bundle 對象,然后再通過 bundle 的各種 get 方法取得數(shù)據(jù)。3) 終止廣播:接收者通過

4、調(diào)用 abortBroadcast()方法即可終止廣播的,一旦終止后面接收者就無法接收廣播。二、兩種廣播的區(qū)別對比:無序廣播有序廣播方法調(diào)用Context.sendBroadcast()Context.sendOrderedBroadcast()優(yōu)缺點(diǎn)Receiver 優(yōu)先級不確定按優(yōu)先級的不同,優(yōu)先 Receiver 可對數(shù)據(jù)進(jìn)行處理不可以被,不可以被終止,不可以被修改可以被,可以被終止,可以被修改接受者不能將處理結(jié)果傳遞給下一個(gè)接收者,也無法終止廣播接受者可以將結(jié)果傳遞給下一個(gè)receiver,也可終止廣播效率高低三、無序廣播示例:1、發(fā)送廣播端:entent = newent();/設(shè)置

5、Actionent.setAction();/添加數(shù)據(jù)ent.putExtra(name,Mike);/發(fā)送無序廣播sendBroadcast(ent);2、接收廣播端:1)在 AndroidManifest.xml 中靜態(tài)廣播:2)創(chuàng)建receiver 接收數(shù)據(jù):public class MyBroadcastReceiver extends BroadcastReceiver public MyBroadcastReceiver() Overridepublic void onReceive(Context context,entent) String action =ent.getAction();/判斷actionif (.equalion) String name =ent.getString

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論