国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 系統(tǒng) > Android > 正文

Android 實(shí)現(xiàn)廣播(Broadcast)

2019-11-09 17:34:50
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

Android廣播其實(shí)和我們生活中的廣播類似 笼統(tǒng)的來(lái)說(shuō)就是傳播數(shù)據(jù)。

1.實(shí)現(xiàn)了不同應(yīng)用程序之間的數(shù)據(jù)傳輸和共享(比如通過(guò)獲取短信,電話做到攔截功能)

2.起到了一個(gè)通知的作用,比如在service中要通知主程序,更新主程序的UI等。

實(shí)現(xiàn)廣播其實(shí)很簡(jiǎn)單

1.既然是廣播一定要有發(fā)送方和接受方

對(duì)于發(fā)送方來(lái)說(shuō),我們需要一個(gè)橋梁(Intent)

    Intent intent = new Intent();  //Itent就是我們要發(fā)送的內(nèi)容            intent.putExtra("data""this is data from broadcast "+Calendar.getInstance().get(Calendar.SECOND));              intent.setAction(flag);   //設(shè)置你這個(gè)廣播的action,只有和這個(gè)action一樣的接受者才能接受者才能接收廣播            sendBroadcast(intent);   //發(fā)送廣播作為接收方,需要對(duì)廣播進(jìn)行注冊(cè)(動(dòng)態(tài)和靜態(tài))1.先定義一個(gè)接受類public class ReceiveBroadCast extends BroadcastReceiver{         @Override        public void onReceive(Context context, Intent intent)        {            //得到廣播中得到的數(shù)據(jù)輸出到控制臺(tái)            String message = intent.getStringExtra("data");            Log.i("test",message);        } }1.1-動(dòng)態(tài)廣播(不需要在應(yīng)用的配置文件中注冊(cè),直接使用java代碼進(jìn)行注冊(cè))在頁(yè)面啟動(dòng)的時(shí)候注冊(cè)(OnResume)    receiveBroadCast = new ReceiveBroadCast();            IntentFilter filter = new IntentFilter();            filter.addAction(flag);    //只有持有相同的action的接受者才能接收廣播            registerReceiver(receiveBroadCast, filter);首先我們實(shí)現(xiàn)了一個(gè)ReceiveBroadCast 類,它繼承了BroadcastReceiver并實(shí)現(xiàn)了其中的onReceive方法,這樣當(dāng)這個(gè)廣播被接收的時(shí)候就會(huì)執(zhí)行這個(gè)方法。注意我們?cè)谧?cè)廣播的時(shí)候使用了filter.addAction方法添加了一個(gè)過(guò)濾器。如果沒(méi)有這一句,就相當(dāng)于廣播電臺(tái)沒(méi)有告訴咱們收音機(jī)用戶接收的頻率,就不好收聽(tīng)這個(gè)廣播了。注意!動(dòng)態(tài)廣播需要對(duì)廣播進(jìn)行注銷     unregisterReceiver(flag); //注銷相對(duì)應(yīng)的Action那么一個(gè)動(dòng)態(tài)的廣播就簡(jiǎn)單的實(shí)現(xiàn)了。1.2-靜態(tài)廣播(通過(guò)配置文件注冊(cè))<receiver android:name="com.qlf.broadCast.broadCastReceiveByxml">    <intent-filter>        <action android:name="com.qlf.broadCastFlag">        </action>    </intent-filter></receiver>receiver中的android:name就是我們?cè)诔绦蛑械哪莻€(gè)接收廣播的類。下面的intent-filter和我們講到的功能類似,而這個(gè)action就是上面的那個(gè)flag

除了使用我們自己發(fā)送廣播,android也內(nèi)置了許多廣播

分享一個(gè)Android系統(tǒng)廣播大全http://blog.csdn.net/u013290075/article/details/51115648


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 平度市| 勃利县| 河源市| 陆川县| 磐安县| 康平县| 巴中市| 青州市| 商丘市| 邯郸县| 军事| 那坡县| 沭阳县| 广平县| 聊城市| 玉龙| 仙居县| 界首市| 惠来县| 新河县| 正镶白旗| 渝中区| 太保市| 涿鹿县| 鄂托克前旗| 庆安县| 兰西县| 元氏县| 峨山| 车险| 乐都县| 巴东县| 清水河县| 太原市| 德兴市| 巴楚县| 沁源县| 武清区| 嘉义县| 天峨县| 辽源市|