老熟女激烈的高潮_日韩一级黄色录像_亚洲1区2区3区视频_精品少妇一区二区三区在线播放_国产欧美日产久久_午夜福利精品导航凹凸

重慶分公司,新征程啟航

為企業提供網站建設、域名注冊、服務器等服務

廣播BroadCastReceiver-創新互聯

1.概述

Broadcast Receiver包含兩部分功能: 發送和接收廣播消息

按需網站建設可以根據自己的需求進行定制,成都網站制作、網站建設構思過程中功能建設理應排到主要部位公司成都網站制作、網站建設的運用實際效果公司網站制作網站建立與制做的實際意義

調用sendBroadCast()方法發送廣播,即發送一個Intent

發送廣播只能啟動廣播接收器Receiver對象

接收廣播Receiver,它和Activity、Service在架構上是平等的

Receiver沒有界面,其生命周期非常短,在執行onReceive()方法中才有效,一旦onReceive()

方法執行完畢,該Receiver的生命期就結束,。

廣播消息分為兩類: 系統定義的一些廣播消息和自定義廣播消息

接收消息的方式:

靜態接收:當程序安裝時就聲明其內部的廣播接收器

動態接收:通過調用registerReceiver()方法向系統注冊一個Receiver,動態接收多用于一個應用程序的內部

每個接收器(Receiver)內部都有一個onReceive()方法

2.廣播消息的方式

同步廣播和異步廣播

廣播的分類

普通廣播(Normal Broadcast):是完全異步的,可以在同一時刻(邏輯上)被所有接收者接收到,消息傳遞的效率比較高。但缺點是接收者不能將處理結果傳遞給下一個接收者,并且無法終止Broadcast Intent的傳播。

有序廣播(Ordered Broadcast):該廣播的接收者將按預先聲明的優先級依次接收廣播。有序廣播接收者可以終止廣播的傳播(通過調用abortBroadcast()方法),廣播的傳播一旦終止,后面的接收者就無法接收到廣播。另外,廣播的接收者可以將數據傳遞給下一個接收者(通過setResultExtras(Bundle bundle)方法)。

3.廣播實例

發送廣播sendBroadcast(intent)

接收廣播。四大組件之一---廣播接收者Broadcast Receiver。

類似于事件處理。不過事件處理是同一個程序內部,而廣播的處理機制則是系統級別的(可用于不同應用程序之間)。

實現方式為:

寫個類繼承BroadcastReceiver,覆蓋方法onReceive()

在配置文件中配置

step1.寫一個類繼承BroadCastReceiver,重寫onReceive()方法

step2.在AndroidManifest.xml中注冊廣播(稱為靜態注冊)

動態注冊:

@Override

protected void onStart() {

super.onStart();

receiver= new MyReceiver();

IntentFilter filter= new IntentFilter();

filter.addAction("com.anjoyo.receiver");

registerReceiver(receiver, filter);

}

@Override

protected void onDestroy() {

super.onDestroy();

unregisterReceiver(receiver);

}

step3.發送廣播

隱式通過action找到相應的receiver組件

Intent intent = new Intent("com.anjoyo.receiver");

sendBroadcast(intent);

顯示通過類名找到本程序的receiver組件

Intent intent = new Intent(context,MyReceiver.class);

sendBroadcast(intent);

Receiver例子代碼:

public class MyReceiver extends BroadcastReceiver {

@Override

public void onReceive(Context context, Intent intent) {

Intent intent2= new Intent("com.anjoyo.activity");

intent2.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

context.startActivity(intent2);

}

}

Activity配置:

          

同步方式發送(sendOrderBroadcastReceiver(intent))的廣播,如何注冊廣播接收器的優先級?通過給

值越大優先級越高。

注意:

每次系統廣播(Broadcast)事件發生后,系統就會創建對應的BroadcastReceiver實例,并自動觸發它的onReceive()方法,onReceive()方法執行完后,BroadcastReceiver的實例就會被銷毀。

如果BroadcastReceiver的onReceive()方法不能在10秒內執行完成,Android會認為該程序無響應。所以不要在廣播接收者的onReceive()方法里執行一些耗時的操作,否則會彈出ANR(Application No Response)的對話框。

動態注冊:

動態創建Receiver

不需要在xml文件中聲明該Receiver

需要調用registerReceiver()方法向應用程序的Context注冊

receiver = new MyReceiver();
        IntentFilter filter= new IntentFilter();
        filter.addAction("com.anjoyo.receiver");
        registerReceiver(receiver, filter);

一般在程序的onPause()方法中調用unregisterReceiver()以注銷Receiver對象

unregisterReceiver(receiver);

如果沒有注銷Receiver,那么該Receiver會一直處于接收廣播消息就緒的狀態,直到該程序的Context被銷毀

監聽系統開機廣播android.intent.action.BOOT_COMPLETED(可以用來設置開機啟動項)

代碼實現:接收到開機事件后BroadcastReceiver啟動一個Activity作為響應

1.寫一個類繼承BroadReceiver,實現OnReceiver方法

public class MyReceiver extends BroadcastReceiver {

public void onReceive(Context context, Intent intent) {

        Intent intent= new Intent(context,MainActivity.class);
                intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                        context.startActivity(intent);
    
    }

}

2.完成MainActivity

3.在AndroidManifest.xml配置

       

訪問系統開機事件的權限:


分享題目:廣播BroadCastReceiver-創新互聯
網站網址:http://www.xueling.net.cn/article/ispjs.html

其他資訊

在線咨詢
服務熱線
服務熱線:028-86922220
TOP
主站蜘蛛池模板: 中文字幕日韩亚洲 | 国产精品久久久久一区二区三区共 | 亚洲一区二区三区毛片 | 国产成人久久综合777777麻豆 | 久久精品一区视频 | 国产麻豆另类AV | 人人做人人爱人人爽 | 亚洲视频一区二区在线观看 | 熟女无套高潮内谢视频 | 日韩超碰人人爽人人做人人添 | 激情文学小说区另类小说 | 久99久人碰人视频在线 | 2018av无码视频在线播放 | 久久精品久久99 | 国产亚洲精品久久久久久无挡照片 | 欧美第一福利 | 超碰99久久 | 亚洲国产精品乱码一区二区三区 | 久草av在线播放 | 黄a大片av永久免费 久久综合九色综合国产 | wwxx在线观看免费 | 国产永久地址 | 看曰本女人大战黑人视频 | 久久这里精品青草免费 | 中文字幕第33页 | 免费观看黄色12片一级视频 | 久久偷看各类WC女厕嘘嘘 | 高清国产MV视频在线观看 | 日韩有码第一页 | 国产免费无码一区二区视频 | 艳妇乳肉豪妇荡乳流白浆 | 欧美嫩交一区二区三区 | 涩涩网站在线观看 | 狠狠操夜夜爽 | 日本少妇高潮PICS | 成人久久色 | 国产自偷在线拍精品热 | 日本伦理影院 | 日韩毛片免费无码无毒视频观看 | 91在线精品观看 | 日本一区二区小视频 |