Android Broadcast

  1. 廣播的發(fā)送:通過(guò)intent比默; 廣播的接收:通過(guò)廣播接收者(Broadcast Receiver)
  2. 廣播的分類(lèi):無(wú)序廣播和有序廣播
    • 無(wú)序廣播:無(wú)法被截?cái)?/li>
    • 有序廣播:按順序發(fā)送廣播,優(yōu)先級(jí)高的先接收到廣播,并且可以中斷廣播的傳遞僚饭,后面的廣播接收器將無(wú)法接收到廣播
  3. 注冊(cè)廣播的兩種方式
  • 動(dòng)態(tài)注冊(cè):代碼中注冊(cè)
  • 靜態(tài)注冊(cè):清單文件中注冊(cè)
  1. 動(dòng)態(tài)注冊(cè)廣播
    新建一個(gè)類(lèi),讓它繼承BroadcastRecevier市怎,重寫(xiě)onReceive()來(lái)接收廣播犀填,在activity中通過(guò)registerReceiver(receiver,intentFilter)來(lái)注冊(cè), unregisterReceiver()來(lái)反注冊(cè)超升,一般在activity的onDestroy()方法中來(lái)取消接收廣播
  2. 案例1 接收網(wǎng)絡(luò)狀態(tài)發(fā)生變化時(shí)的系統(tǒng)廣播
IntentFilter intentFilter = new IntentFilter();    
intentFilter.addAction("android.net.conn.CONNECTIVITY_CHANGE");
registerReceiver(myReceiver,intentFilter);

注意需要在清單文件中聲明權(quán)限:
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>

  1. 案例2 靜態(tài)注冊(cè)開(kāi)機(jī)廣播
    權(quán)限:<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
    清單文件中添加<receiver>以及<intent-filter>中指定action
  2. 注意事項(xiàng):不要在onReceive()方法中添加過(guò)多的邏輯或者耗時(shí)操作入宦,以免ANR
  3. 發(fā)送自定義廣播
  • 發(fā)送標(biāo)準(zhǔn)廣播 sendBroadcast();

Intent intent = new Intent("com.evan.broadcasttest.MY_BROADCAST");
sendBroadcast(intent);

廣播發(fā)送出去哺徊,需要自己寫(xiě)一個(gè)廣播接收者來(lái)接收這個(gè)自定義的廣播
9. 發(fā)送有序廣播:sendOrderedBroadcast();這樣發(fā)送的就是有序廣播,在清單文件中的過(guò)濾器中設(shè)置的權(quán)限越大(如android:priority="100")乾闰,就優(yōu)先接收到廣播落追,接收到廣播后終止廣播:`abortBroadcast();`
10. 本地廣播:為了安全性,發(fā)出的廣播只能在程序內(nèi)部傳遞涯肩,其他應(yīng)用程序無(wú)法接收到廣播轿钠,也無(wú)法接收到其他程序發(fā)送的廣播
  - 通過(guò)LocalBroadcastManager來(lái)發(fā)送廣播和注冊(cè)廣播接收者

Intent intent = new Intent("com.evan.broadcasttest.MY_BROADCAST");
// sendBroadcast(intent);
LocalBroadcastManager localBroadcastManager = LocalBroadcastManager.getInstance(this);
localBroadcastManager.sendBroadcast(intent);

注冊(cè)廣播接收器

IntentFilter intentFilter = new IntentFilter();
intentFilter.addAction("com.evan.broadcasttest.MY_BROADCAST");
localBroadcastManager.registerReceiver(myReceiver,intentFilter);

  - 注意:本地廣播無(wú)法通過(guò)靜態(tài)注冊(cè)來(lái)接收廣播
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市病苗,隨后出現(xiàn)的幾起案子疗垛,更是在濱河造成了極大的恐慌,老刑警劉巖硫朦,帶你破解...
    沈念sama閱讀 211,376評(píng)論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件贷腕,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡咬展,警方通過(guò)查閱死者的電腦和手機(jī)泽裳,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,126評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)破婆,“玉大人涮总,你說(shuō)我怎么就攤上這事〉灰ǎ” “怎么了妹卿?”我有些...
    開(kāi)封第一講書(shū)人閱讀 156,966評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)蔑鹦。 經(jīng)常有香客問(wèn)我,道長(zhǎng)箕宙,這世上最難降的妖魔是什么嚎朽? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,432評(píng)論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮柬帕,結(jié)果婚禮上哟忍,老公的妹妹穿的比我還像新娘。我一直安慰自己陷寝,他們只是感情好锅很,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,519評(píng)論 6 385
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著凤跑,像睡著了一般爆安。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上仔引,一...
    開(kāi)封第一講書(shū)人閱讀 49,792評(píng)論 1 290
  • 那天扔仓,我揣著相機(jī)與錄音褐奥,去河邊找鬼。 笑死翘簇,一個(gè)胖子當(dāng)著我的面吹牛撬码,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播版保,決...
    沈念sama閱讀 38,933評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼呜笑,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了彻犁?” 一聲冷哼從身側(cè)響起叫胁,我...
    開(kāi)封第一講書(shū)人閱讀 37,701評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎袖裕,沒(méi)想到半個(gè)月后曹抬,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,143評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡急鳄,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,488評(píng)論 2 327
  • 正文 我和宋清朗相戀三年谤民,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片疾宏。...
    茶點(diǎn)故事閱讀 38,626評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡张足,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出坎藐,到底是詐尸還是另有隱情为牍,我是刑警寧澤,帶...
    沈念sama閱讀 34,292評(píng)論 4 329
  • 正文 年R本政府宣布岩馍,位于F島的核電站碉咆,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏蛀恩。R本人自食惡果不足惜疫铜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,896評(píng)論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望双谆。 院中可真熱鬧壳咕,春花似錦、人聲如沸顽馋。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,742評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)寸谜。三九已至竟稳,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背住练。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,977評(píng)論 1 265
  • 我被黑心中介騙來(lái)泰國(guó)打工地啰, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人讲逛。 一個(gè)月前我還...
    沈念sama閱讀 46,324評(píng)論 2 360
  • 正文 我出身青樓亏吝,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親盏混。 傳聞我的和親對(duì)象是個(gè)殘疾皇子蔚鸥,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,494評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容

  • 前言:本文所寫(xiě)的是博主的個(gè)人見(jiàn)解,如有錯(cuò)誤或者不恰當(dāng)之處许赃,歡迎私信博主止喷,加以改正! 原文鏈接混聊,demo鏈接 廣播簡(jiǎn)...
    PassersHowe閱讀 3,440評(píng)論 0 9
  • Broadcasts Android apps can send or receive broadcast mes...
    woitaylor閱讀 6,228評(píng)論 0 12
  • Android Broadcast Broadcast使用場(chǎng)景 Android廣播分為兩個(gè)方面:廣播發(fā)送者和廣播接...
    Showdy閱讀 2,860評(píng)論 0 8
  • Broadcast概述 該部分內(nèi)容主要翻譯自Google Android Developers文檔 Android...
    lbtrace閱讀 2,204評(píng)論 0 2
  • 參考承香墨影的兩篇博客Android--廣播BroadcastReceiverAndroid--攔截系統(tǒng)Broad...
    合肥黑閱讀 1,999評(píng)論 2 11