有序广播和无序广播

* 无序广播:只要发出广播,感兴趣的接收者都可以接受这个广播

    sendBroadcast(intent); 发送无序广播

* SD卡插拔、应用程序的卸载安装

* 有序广播:系统发出广播,接收者按照优先级从高到低一级一级地接受,类似中央的红头文件

    sendOrderedBroadcast(intent, receiverPermission, resultReceiver, scheduler, initialCode, initialData, initialExtras)

* intent :意图

* receiverPermission :指定接收者的权限

* resultReceiver :最终的广播接收者

* scheduler :Handler

* initialCode :广播编码

* initialData :设置广播的数据,接收者getResultData()获取数据

* initialExtras :把数据设置到bundle,数据量大的时候用

  如:sendOrderedBroadcast(intent, null, new FinalReceiver(), new Handler(), 1, "补助10000", null); 发送有序广播

  abortBroadcast(); 拦截终止广播

  setResultData("给每个码农补贴¥1000"); 修改广播数据

* 接受者接受广播有先后顺序

* 优先级 1000 ~ -1000 {优先级可以是int范围的最大值,优先级最高}

* 高优先级的接收者可以拦截终止广播

* 高优先级的接收者可以修改广播里的数据

* 可以指定一个最终的广播接收者

最终的广播接收者:

public class FinalReceiver extends BroadcastReceiver{

      @Override

         public void onReceive(Context context, Intent intent) {

            System.out.println("最终接收者:"+getResultData());

         }

   }

 二种广播的区别之处:

  * 能不能终止广播

  * 能不能修改广播里的数据

posted on 2017-02-19 16:22  LoaderMan  阅读(489)  评论(0编辑  收藏  举报

导航