【安卓學(xué)習(xí)筆記】廣播與廣播接收——BroadcastReceiver

知識(shí)點(diǎn):

  • 廣播的發(fā)送分為:普通廣播、有序廣播
  • 廣播的注冊(cè)分為:靜態(tài)厦酬、動(dòng)態(tài)
截取自慕課網(wǎng)

先看普通廣播:

靜態(tài)注冊(cè)方式

1胆描、定義一個(gè)廣播接收類(lèi),繼承BroadcastReceiver

public class MyBroadCast_One extends BroadcastReceiver{

    @Override
    public void onReceive(Context context, Intent intent) {
        
        System.out.println("MyBroadCast_One收到廣播消息:"+intent.getExtras().getString("msg"));       

}

2仗阅、AndroidManifest.xml注冊(cè)這個(gè)廣播接收器昌讲,注意filter篩選廣播

<receiver android:name="com.bzx.androidlearning.MyBroadCast_One">
    <intent-filter>
            <action android:name="BC"/>
   </intent-filter>
</receiver>

3、MainActivity中發(fā)送廣播减噪,注意是sendBroadcast普通廣播短绸。setAction可以理解為這個(gè)廣播的名字,上一個(gè)步驟中intent-filter篩選出這個(gè)廣播

Intent intent1 = new Intent();
intent1.putExtra("msg", "這是一條普通廣播");
intent1.setAction("BC");
sendBroadcast(intent1);
              
動(dòng)態(tài)注冊(cè)方式

1筹裕、和靜態(tài)區(qū)別在于醋闭,不用在manifest中進(jìn)行注冊(cè) ,直接在activity中進(jìn)行注冊(cè)朝卒。注意证逻,注冊(cè)內(nèi)容要寫(xiě)在發(fā)送廣播前面。

//動(dòng)態(tài)注冊(cè)廣播
myBroadCast_Two = new MyBroadCast_Two();
IntentFilter intentFilter = new IntentFilter("BC");
registerReceiver(myBroadCast_Two, intentFilter);

2扎运、動(dòng)態(tài)注冊(cè)的廣播要在activity銷(xiāo)毀時(shí)進(jìn)行解綁

@Override
    protected void onDestroy() {
        //動(dòng)態(tài)注冊(cè)廣播要在銷(xiāo)毀時(shí)取消注冊(cè)
        unregisterReceiver(myBroadCast_Two);
        super.onDestroy();
    }@Override

有序廣播:

1瑟曲、activity中有序廣播發(fā)送饮戳,注意是sendOrderedBroadcast

Intent intent2 = new Intent();
intent2.putExtra("msg", "這是一條普通廣播");
intent2.setAction("BC");
sendOrderedBroadcast(intent2, null);

2、與普通廣播一點(diǎn)差別在于廣播接收部分洞拨。有序廣播可以對(duì)消息進(jìn)行截?cái)嗷蛘咛幚沓豆蕖_@里MyBroadCast_Two 因?yàn)槭莿?dòng)態(tài)注冊(cè),所以優(yōu)先級(jí)高一些烦衣,先接收到廣播后歹河,可以對(duì)廣播進(jìn)行處理setResultExtras

public class MyBroadCast_Two extends BroadcastReceiver{

    @Override
    public void onReceive(Context context, Intent intent) {
        
        System.out.println("MyBroadCast_Two收到廣播消息");
        Bundle bundle = new Bundle();
        //abortBroadcast();
        bundle.putString("msg", "MyBroadCast_Two截?cái)嗟南?);
        setResultExtras(bundle);
        
    }

}

3、MyBroadCast_One后接收到廣播花吟。通過(guò) getResultExtras(true)接收MyBroadCast_Two 處理后的廣播消息秸歧。另外,MyBroadCast_Two 中注釋的部分abortBroadcast()如果使用的話衅澈,就會(huì)截?cái)鄰V播键菱,MyBroadCast_One就不會(huì)收到發(fā)送的廣播了

public class MyBroadCast_One extends BroadcastReceiver{

    @Override
    public void onReceive(Context context, Intent intent) {
        
        System.out.println("MyBroadCast_One收到廣播消息:"+intent.getExtras().getString("msg"));
        Bundle  bundle = getResultExtras(true);
        System.out.println("MyBroadCast_One收到截?cái)嗟南ⅲ?+bundle.getString("msg"));
    }

}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市今布,隨后出現(xiàn)的幾起案子经备,更是在濱河造成了極大的恐慌,老刑警劉巖部默,帶你破解...
    沈念sama閱讀 206,378評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件侵蒙,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡傅蹂,警方通過(guò)查閱死者的電腦和手機(jī)纷闺,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,356評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)份蝴,“玉大人犁功,你說(shuō)我怎么就攤上這事「惴Γ” “怎么了波桩?”我有些...
    開(kāi)封第一講書(shū)人閱讀 152,702評(píng)論 0 342
  • 文/不壞的土叔 我叫張陵戒努,是天一觀的道長(zhǎng)请敦。 經(jīng)常有香客問(wèn)我,道長(zhǎng)储玫,這世上最難降的妖魔是什么侍筛? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,259評(píng)論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮撒穷,結(jié)果婚禮上匣椰,老公的妹妹穿的比我還像新娘。我一直安慰自己端礼,他們只是感情好禽笑,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,263評(píng)論 5 371
  • 文/花漫 我一把揭開(kāi)白布入录。 她就那樣靜靜地躺著,像睡著了一般佳镜。 火紅的嫁衣襯著肌膚如雪僚稿。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 49,036評(píng)論 1 285
  • 那天蟀伸,我揣著相機(jī)與錄音蚀同,去河邊找鬼。 笑死啊掏,一個(gè)胖子當(dāng)著我的面吹牛蠢络,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播迟蜜,決...
    沈念sama閱讀 38,349評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼刹孔,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了娜睛?” 一聲冷哼從身側(cè)響起芦疏,我...
    開(kāi)封第一講書(shū)人閱讀 36,979評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎微姊,沒(méi)想到半個(gè)月后酸茴,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,469評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡兢交,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,938評(píng)論 2 323
  • 正文 我和宋清朗相戀三年薪捍,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片配喳。...
    茶點(diǎn)故事閱讀 38,059評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡酪穿,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出晴裹,到底是詐尸還是另有隱情被济,我是刑警寧澤,帶...
    沈念sama閱讀 33,703評(píng)論 4 323
  • 正文 年R本政府宣布涧团,位于F島的核電站只磷,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏泌绣。R本人自食惡果不足惜钮追,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,257評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望阿迈。 院中可真熱鬧元媚,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,262評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至甥角,卻和暖如春腰埂,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背蜈膨。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,485評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工屿笼, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人翁巍。 一個(gè)月前我還...
    沈念sama閱讀 45,501評(píng)論 2 354
  • 正文 我出身青樓驴一,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親灶壶。 傳聞我的和親對(duì)象是個(gè)殘疾皇子肝断,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,792評(píng)論 2 345

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

  • 廣播接收器 是Android的四大組件之一,可見(jiàn)廣播在Android中的重要性驰凛; 1. 什么是廣播胸懈? 廣播(Bro...
    Lost_Robot閱讀 1,934評(píng)論 2 10
  • 現(xiàn)實(shí)中的廣播:電臺(tái)為了傳達(dá)一些消息而發(fā)送廣播,通過(guò)廣播攜帶要傳達(dá)的消息恰响,群眾只要買(mǎi)一個(gè)收音機(jī)趣钱,就可以收到廣播了。 ...
    stevewang閱讀 4,227評(píng)論 0 8
  • 轉(zhuǎn)自Android四大基本組件介紹與生命周期Android四大基本組件分別是Activity胚宦,Service服務(wù),...
    開(kāi)子的私家地閱讀 1,407評(píng)論 0 5
  • 前言 本來(lái)想寫(xiě)一下廣播的首有,發(fā)現(xiàn)查閱后有整理的不錯(cuò)的,只好轉(zhuǎn)載圖個(gè)簡(jiǎn)便枢劝,日后好復(fù)習(xí)轉(zhuǎn)載:http://www.cnb...
    提升即效率閱讀 1,385評(píng)論 0 10
  • 每一個(gè)姑娘您旁,都有或多或少瘦身的經(jīng)驗(yàn)烙常,而減肥于我,卻是一部不忍回顧的血淚史鹤盒,一直在路上蚕脏,從不會(huì)結(jié)束,我最成功的一次是...
    依依拂曉閱讀 509評(píng)論 5 1