【文章內(nèi)容簡介】
/receiver 在清單文件中注冊廣播接收器 嘗試改變優(yōu)先級大小,觀看效果 public class MainActivity extends Activity { public void onCreate(Bundle savedInstanceState) { (savedInstanceState)。 setContentView()。 Intent intent=new Intent()。 sendOrderedBroadcast(intent,null)。 } } 發(fā)送普通廣播和發(fā)送有序廣播對比 發(fā)送有序廣播 public class MainActivity extends Activity { public void onCreate(Bundle savedInstanceState) { (savedInstanceState)。 setContentView()。 Intent intent=new Intent()。 sendBroadcast(intent)。 } } 發(fā)送普通廣播 public class BBroadcastReceiver extends BroadcastReceiver { public void onReceive(Context context, Intent intent) { Bundle bundle=getResultExtras(true)。 (context, “ B is Invoked!” +“得到的信息” +(“ A” ), ).show()。 } } 有序廣播中,廣播接收器間傳遞數(shù)據(jù) public class ABroadcastReceiver extends BroadcastReceiver { public void onReceive(Context context, Intent intent) { (context, A is Invoked!, ).show()。 Bundle bundle=new Bundle()。 (“ A” , “ the message of A” )。//在廣播中添加數(shù)據(jù) setResultExtras(bundle)。 } } ABroadcastReceiver廣播接收器接收廣播后, 向其中添加數(shù)據(jù) 。 BBroadcastReceiver廣播接收器接收廣播后, 獲取數(shù)據(jù) 。 案例 — 音樂播放器 基于 Service的音樂播放器 ? 程序的音樂將會(huì)由 后臺運(yùn)行的 Service組件負(fù)責(zé)播放 ,當(dāng)后臺的 播放狀態(tài) 發(fā)生改變時(shí),程序?qū)?huì)通過 發(fā)送廣播通知前臺 Activity更新界面 ;當(dāng)用戶 單擊前臺 Activity的界面按鈕時(shí) ,系統(tǒng)將通過 發(fā)送廣播通知后臺 Service來改變播放狀態(tài) 。 ? 此程序中包含兩個(gè) BroadcastReceiver(廣播接收器)和一個(gè) Service服務(wù) 。 一個(gè)廣播接收器用于 接收播放狀態(tài)發(fā)生改變的廣播 ; 一個(gè)廣播接收器用于 接收歌曲播放完成時(shí)發(fā)送的廣播 。 案例 — 音樂播放器 案例 — 音樂播放器 開發(fā)步驟 Activity的 界面布局 ,在 Activity中內(nèi)嵌一個(gè)廣播接收器 ActivityReceiver,用于接收來自 Service的廣播。 為相應(yīng)的按鈕 添加單擊事件 ,在單擊事件中發(fā)送廣播; 開發(fā) 音樂播放的服務(wù) ( MusicService),并在服務(wù)中內(nèi)嵌一個(gè)廣播接收器 ServiceReceiver,用于接收來自Activity的廣播; 分別編寫 廣播接收器的業(yè)務(wù)邏輯處理 ; 案例分析 內(nèi) 部 類單 擊 播 放 、 暫停 或 停 止 按 鈕后 發(fā) 送 廣 播處 理 結(jié) 束 后 發(fā) 送 廣 播 給 A c t i v i t y監(jiān) 聽 歌 曲 是否 播 放 結(jié)束 , 一 旦 結(jié)束 發(fā) 送 廣 播初 始 化 時(shí)通 過 代 碼注 冊 廣 播接 收 者M(jìn) a i n A c t i v i t yA c t i v i t y R e c e i v e r內(nèi) 部 類M u s i c S e r v i c e初 始 化 時(shí) , 啟 動(dòng) 服 務(wù)S e r v i c e R e c e i v e r廣 播 接 收 者初 始 化 時(shí)通 過 代 碼注 冊 廣 播接 收 者更 改界 面顯 示狀 態(tài)調(diào) 用相 應(yīng)方 法進(jìn) 行處 理 音樂播放器示例 public void onCreate(Bundle savedInstanceState) { (savedInstanceState)。 setContentView(