【正文】
Create(Bundle savedInstanceState) { (savedInstanceState)。 } } public class BBroadcastReceiver extends BroadcastReceiver { public void onReceive(Context context, Intent intent) { (context, “ B is Invoked!” , ).show()。另外,廣播的接收者可以將數(shù)據(jù)傳遞給下一個(gè)接收者(通過setResultExtras(Bundle bundle)方法)。 ? 有序廣播 ( Ordered Broadcast):該廣播的接收者將按預(yù)先聲明的 優(yōu)先級(jí)依次接收廣播 。 發(fā)送廣播的兩種方式 ? 普通廣播 ( Normal Broadcast):是完全異步的,可以在同一時(shí)刻(邏輯上)被所有接收者接收到,消息傳遞的效率比較高。 發(fā)送廣播的兩種方式 廣播接收者注冊(cè)好了以后,并不會(huì)直接運(yùn)行,必須在接收廣播后才會(huì)被調(diào)用,因此,必須首先發(fā)送廣播,在Android中提供了兩種發(fā)送廣播的方式,調(diào)用 Context的sendBroadcast()或 sendOrderedBroadcast()方法。 ? 如果廣播接收者所在的進(jìn)程結(jié)束了,雖然該進(jìn)程內(nèi)還有用戶啟動(dòng)的新線程,但由于該 進(jìn)程內(nèi)不包含任何活動(dòng)組件 ,因此系統(tǒng)可能在內(nèi)存緊張時(shí) 優(yōu)先結(jié)束線程 。 注意 ? 如果確實(shí)需要根據(jù)廣播來 完成一項(xiàng)比較耗時(shí)的操作 ,則可以考慮 通過 Intent啟動(dòng)一個(gè) Service來完成該操作。 如果 BroadcastReceiver的 onReceive()方法不能在 10秒內(nèi)執(zhí)行完成 , Android會(huì)認(rèn)為 該程序無響應(yīng) 。 BroadcastReceiver介紹 注冊(cè)完成后,即可 接收相應(yīng)的廣播消息 。 registerReceiver(myBroadcastReceiver, filter)。 BroadcastReceiver介紹 MyBroadcastReceiver myBroadcastReceiver=new MyBroadcastReceiver()。 在 Android中為 BroadcastReceiver注冊(cè)廣播有兩種方式: 靜態(tài)注冊(cè) 和 動(dòng)態(tài)注冊(cè) 。 public class MyBroadcastReceiver extends BroadcastReceiver { public void onReceive(Context context, Intent intent) { } } 在 onReceive()方法中,接收了一個(gè) Intent的參數(shù),通過它可以 獲取廣播 所攜帶的數(shù)據(jù) 。 當(dāng)應(yīng)用程序發(fā)出一個(gè) 廣播 之后,所有匹配該 Intent的BroadcastReceiver都有可能被啟動(dòng)。 BroadcastReceiver介紹 BroadcastReceiver自身并 不實(shí)現(xiàn)圖形用戶界面 ,但是當(dāng)它收到某個(gè)消息后,可以 啟動(dòng) Activity作為響應(yīng) ,或者通過 NotificationManager提醒用戶 ,或者 啟動(dòng) Service等等。 ? BroadcastReceiver用于 接收指定的廣播 ,廣播的發(fā)送是通過調(diào)用 ()、()來實(shí)現(xiàn)的。第 9章 BroadcastReceiver的使用 網(wǎng)絡(luò)資源: 號(hào): 1281147324 : 490420731( Android編程入門) 主要內(nèi)容 B r o a d c a s t R e c e i v e r創(chuàng) 建注 冊(cè)廣 播 的 分 類啟 動(dòng) 廣 播 的 方 式音 樂 播 放 器 示 例靜 態(tài) 注 冊(cè)動(dòng) 態(tài) 注 冊(cè)普 通 廣 播有 序 廣 播s e n d B r o a d c a s ts e n d O r d e r e d B r o a d c a s t通 過 X M L 文 件 注 冊(cè)通 過 J a v a 代 碼 注 冊(cè)繼 承 B r o a d c a s t R e c e i v e r 基 類 BroadcastReceiver介紹 ? 廣播是一種廣泛運(yùn)用在應(yīng)用程序之間傳輸信息的機(jī)制,而 BroadcastReceiver是對(duì)發(fā)送出來的廣播進(jìn)行過濾接收并響應(yīng)的一類組件。 ? BroadcastReceiver 本質(zhì)上是一種 全局監(jiān)聽器 ,用于監(jiān)聽系統(tǒng)全局的廣播消息,因此它可以非常方便地實(shí)現(xiàn)系統(tǒng)中不同組件之間的通信。通常一個(gè)廣播可以被訂閱了該 Intent的多個(gè)廣播接收者所接收,如同一個(gè)廣播臺(tái),可以被多位聽眾收聽一樣。 啟動(dòng) BroadcastReceiver通常 需要以下兩步 : 創(chuàng)建 Intent, 指定 BroadcastReceiver的特征; 調(diào)用 Context的 sendBroadcast()(發(fā)送普通廣播 )或sendOrderedBroadcast()(發(fā)送有序廣播 )方法來 發(fā)送廣播,觸發(fā)指定的 Broad