发送自定义广播

2017-07-26  本文已影响0人  溪_午

发送自定义广播

广播分类:标准广播、有序广播
标准广播:所有程序都可以同时接收到(完全异步执行)

标准广播传播图.png

有序广播:优先级高的程序先接收到广播,而且可以截断正在传递的广播,这样后面的程序无法接收到。(同步执行)

有序广播.png

一:发送标准广播

 //构建Intent对象,把要发送的值传入    
 Intent intent=new Intent("com.example.HJJia");
 sendBroadcast(intent);

二:发送有序广播

Intent intent=new Intent("com.example.HJJia");
//第一个参数是intent,第二个参数是与权限相关的参数
sendOrderedBroadcast(intent,null);

截断有序广播:在onReceive()添加截断逻辑

 public void onReceive(Context context, Intent intent) {  
//将广播截断,后面的广播接收器无法接收到该广播     
  abortBroadcast();
}

关于广播接收器的优先级:
在注册广播接收器的时候,就设定了。在AndroidManifest.xml中的<recevice><recevice>标签中添加广播接收器的优先级声明就好,android:priority="优先级数字";

  <receiver >
            <intent-filter android:priority="100">
            </intent-filter>
  </receiver>

此致
敬礼

上一篇 下一篇

猜你喜欢

热点阅读