有序广播可以按一定的优先级进行传播

首先进行发送广播

public void click(View v){

        Intent intent = new Intent();
        intent.setAction("com.coderwei.orderbroadcast");
        sendOrderedBroadcast(intent,null,new FinalReceiver(),null,1,"我是一条有序广播",null);
    }

上面new FinalReceiver继承于与BroadcastReceiver,但是不用再清单文件中配置,有特权,可以用于接收最后的结果

 public class FirstBroadcast extends BroadcastReceiver {
     @Override
     public void onReceive(Context context, Intent intent) {
         String content = getResultData();
         Toast.makeText(context,"First"+content,Toast.LENGTH_SHORT).show();
         setResultData("我是一条已经被接收过一次了的有序广播");

     }
 }

 public class SecondBroadcast extends BroadcastReceiver {
     @Override
     public void onReceive(Context context, Intent intent) {
         String content = getResultData();
         //abortBroadcast();//停止广播
         Toast.makeText(context,"Second"+content,Toast.LENGTH_SHORT).show();
         setResultData("我是一条被接收过两次的广播");
     }
 }

 public class ThirdBroadcast extends BroadcastReceiver {
     @Override
     public void onReceive(Context context, Intent intent) {
         String content = getResultData();
         Toast.makeText(context,"Third"+content,Toast.LENGTH_SHORT).show();

     }
 }

然后就是配置Manifest.xml

     <receiver android:name=".FirstBroadcast">
             <intent-filter
                 android:priority="1000">
                 <action android:name="com.coderwei.orderbroadcast"/>
             </intent-filter>
         </receiver>
         <receiver android:name=".SecondBroadcast">
             <intent-filter
                 android:priority="800">
                 <action android:name="com.coderwei.orderbroadcast"/>
             </intent-filter>
         </receiver>
         <receiver android:name=".ThirdBroadcast">
             <intent-filter
                 android:priority="200">
                 <action android:name="com.coderwei.orderbroadcast"/>
             </intent-filter>
         </receiver>
android:priority 代表优先级,-1000 到 1000之间,数值越大,优先级越大。

BroadcastReceiver之有序广播的更多相关文章

  1. Android学习笔记(十二)BroadcastReceiver的有序广播和优先级

    前两篇博文中简单整理了普通广播,其实还有有序广播,有序广播在开发中也是比不可少的,可以给广播接收者设定优先级来控制接受顺序,并却可以中断广播传递等等. 一.两种Broadcast: · 普通广播(No ...

  2. Android(java)学习笔记179:BroadcastReceiver之 有序广播和无序广播(BroadcastReceiver优先级)

    之前我们在Android(java)学习笔记178中自定义的广播是无序广播,下面我们要了解一下有序广播:   1.   我们首先了解一下有序广播和无序广播区别和联系? (1) 有序广播> 接受者 ...

  3. Android(java)学习笔记122:BroadcastReceiver之 有序广播和无序广播(BroadcastReceiver优先级)

    之前我们在Android(java)学习笔记178中自定义的广播是无序广播,下面我们要了解一下有序广播: 1. 我们首先了解一下有序广播和无序广播区别和联系? (1)有序广播> 接受者有优先级, ...

  4. Android BroadcastReceiver 发送有序广播

    普通广播(Normal Broadcast): 一,优缺点:和有序广播的优缺点相反! 二,发送广播的方法:sendBroadcast() 有序广播(Ordered Broadcast): 一,优缺点 ...

  5. Android BroadcastReceiver实例Demo(有序广播的发送)

    上一篇简介了广播的发送,这篇主要介绍下,有序广播的发送. 设置完相关属性的时候,广播就会依照有序的方式进行发送: 发送顺序: 先发送第二条广播: 再发送第一条广播: 最后发送第三条广播. 代码例如以下 ...

  6. 发送有序广播Ordered Broadcast

    import android.os.Bundle;import android.app.Activity;import android.content.Intent;import android.vi ...

  7. android86 监听SD卡状态,勒索软件,监听应用的安装、卸载、更新,无序广播有序广播

    * 添加权限 <uses-permission android:name="android.permission.RECEIVE_SMS"/> * 4.0以后广播接收者 ...

  8. android 51 有序广播

    无序广播:一条广播发送出去,多个接收者接收没有顺序.有序广播:广播接收者可以设置优先级,优先级高的先收到广播.有序广播可以设置优先级. mainActivity.java package com.sx ...

  9. 17_Android中Broadcast详解(有序广播,无序广播)最终广播,Bundle传递参数,传递参数的时候指定权限

     1  Broadcast是Android中的四大组件之一,他的用途很大,比如系统的一些广播:电量低.开机.锁屏等一些操作都会发送一个广播. 2  广播被分为两种不同的类型:"普通广播( ...

随机推荐

  1. Linux命令总结【待续】

    1.打包:  tar -czf small.tar.gz small(目录名)  ;压缩并打包目录 2.解包: tar zxvf 文件名 date -s 2015 2 12 修改时间 cp name ...

  2. Linux软件安装-yum安装

    虽然RPM包安装软件很方便.快捷,但是还是需要现有安装包才能安装.为了更为方便的安装软件,发展出了利用网络自动安装的方式--yum安装. 使用yum安装的前提是机器可以上网. 1.配置yum源 在/e ...

  3. 挤点时间写博客-php&MySQL实践

    hi 晚上要吃火锅的嘛,挤点时间写点东西吧,别被老板发现哦 1.PHP与MySQL 五.文章发布系统之后台 5.2 创建配置文件和初始化文件 为了统一配置以及管理方便,还有就是减少代码的冗余. 分别为 ...

  4. AngularJS Filters

    过滤器可以使用一个管道字符(|)添加到表达式和指令中. AngularJS 过滤器 AngularJS 过滤器可用于转换数据: 过滤器 描述 currency 格式化数字为货币格式. filter 从 ...

  5. Qt5 发布的exe应用程序Windows下无法执行的问题解决方案

    本解决方案着重解决报错为: This application has requested the Runtime to terminate it in an unusual way. 的错误. 即: ...

  6. red5安装时候出现服务不能启动异常

    Exception java.lang.ClassCastException: org.slf4j.helpers.BasicMDCAdapter cannot be cast to ch.qos.l ...

  7. linux(TINY6410)下移植boa服务器

    今天在tiny6410上移植了boa服务器,中间遇到了一些小问题.当时也及时解决了. 第一步:boa的编译 在www.boa.org下载Boa的压缩包  我这里用的是 boa-0.94.13.tar. ...

  8. 如何配置QuickFIX/N

    Acceptor或者Initiator能够为您维护尽可能多的FIX会话,因而FIX会话标识的唯一性非常重要.在QuickFIX/N中,一个FIX会话的唯一标识是由:BeginString(FIX版本号 ...

  9. Objective-C 命名规范

    http://www.tuicool.com/articles/ERvUbmR 1. 如果方法的返回值是新创建的,那么方法名的首个词应是返回值类型,除非前面还有修饰语如 localizedString ...

  10. 使用Jquery向一个空白网页动态创建一个iframe,及嵌入页面,和向嵌入页面传参

    [csharp] view plaincopyprint?using Microsoft.VisualBasic; using System; using System.Collections; us ...