美文网首页
发送自定义广播

发送自定义广播

作者: 溪_午 | 来源:发表于2017-07-26 22:51 被阅读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>
    

    此致
    敬礼

    相关文章

      网友评论

          本文标题:发送自定义广播

          本文链接:https://www.haomeiwen.com/subject/rkzokxtx.html