第1課廣播接收者分類_第1頁
第1課廣播接收者分類_第2頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

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

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

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

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

5、Actionent.setAction();/添加數據ent.putExtra(name,Mike);/發(fā)送無序廣播sendBroadcast(ent);2、接收廣播端:1)在 AndroidManifest.xml 中靜態(tài)廣播:2)創(chuàng)建receiver 接收數據: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)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論