广播机制(四)

      广播机制
1.广播接收器(Broadcast Receiver) :
 1.标准广播 : 是一种彻底异步执行的广播,在广播发出以后,全部的广播接收器几乎都会在同一时刻接收到这条广播消息,
   所以它们之间没有任何前后顺序可言。这种广播的效率会比较高,但同时也意味着它是没法被截断的。
 2.有序广播 : 是一种同步执行的广播,在广播发出以后,同一时刻只会有一个广播接收器可以收到这条广播消息,
   当这个广播接收器中的逻辑执行完毕后,广播才会继续传递。因此此时的广播接收器是有前后顺序的,
   优先级高的广播接收器就能够先收到广播消息,而且前面的广播接收器还能够截断正在传递的广播,
   这样后面的广播接收器就没法收到广播消息了。android

2.动态注册监听网络变化 :  缺点,必须该活动启动时,才能使用广播器
 1.建立一个广播器,继承BroadcastReceiver现实onReceive方法
 2.在活动的onCreate方法中,建立IntentFilter 而且监听Intent的变化
 3.为被监听者注册一个广播器
    IntentFilter filter = new IntentFilter();
         filter.addAction("android.net.conn.CONNECTIVITY_CHANGE");           //监听网络变化时的广播器 : 当网络状态发生变化时
          network = new NetWorkchangeBroadCast();    //BroadcastReceiver的子类
          registerReceiver(network, filter);      //将自定义的广播器注册到这个IntentFilter链中
 4.最后在活动销毁行为中注销掉该广播器安全

3.静态注册实现开机启动 : 优势,不须要启动该活动也可使用广播器
 1.建立一个广播器,继承BroadcastReceiver现实onReceive方法
 2.AndroidManifest.xml中注册该广播器 标签为 <receiver>
   <receiver android:name=".broadcast.BootCompleteReceiver">
            <intent-filter> <!--    为手机开机注册一个静态的广播器 须要权限    -->
                <action android:name="android.intent.action.BOOT_COMPLETED"/>
            </intent-filter>
        </receiver>网络


4.须要注意的是:
 不要在 onReceive()方法中添加过多的逻辑或者进行任何的耗时操做, 由于在广播接收器中是不容许开启线程的,
 当 onReceive()方法运行了较长时间而没有结束时, 程序就会报错。
 所以广播接收器更多的是扮演一种打开程序其余组件的角色,好比建立一条状态栏通知,或者启动一个服务等。异步

5.发送自定义标准广播:
 1.建立一个Intent 名字为com.example.broadcasttest.MY_BROADCAST
 2.sendBroadcast(intent);  经过广播形式发送该意图(Intent),发送标准广播
 3.建立一个广播器,继承BroadcastReceiver现实onReceive方法
 4.在AndroidManifest.xml中监听该意图(Intent).net

6.发送自定义有序广播
 1.sendBroadcast(intent); 替换成 sendOrderedBroadcast(intent, null);  发送有序广播
 2.在AndroidManifest.xml 设置优先级 <intent-filter android:priority="100" >
 3.在onReceive方法中调用abortBroadcast();表示广播截断, 后面的广播接收器将没法再接收到这条广播线程

7.本地广播(LocalBroadcastManager)
 1.由LocalBroadcastManager类调起的方法都是本地广播。用法和所有广播一致xml

本地广播的优点:
 1.能够明确地知道正在发送的广播不会离开咱们的程序, 所以不须要担忧机密数据泄
  漏的问题。
 2.  其余的程序没法将广播发送到咱们程序的内部, 所以不须要担忧会有安全漏洞的隐
  患。
 3.  发送本地广播比起发送系统全局广播将会更加高效。
 继承

注:在多个广播器在同时监听同一个意图时,是能够的,也能接收到同步

相关文章
相关标签/搜索