无序和有序的广播
一、广播发送 public void click(View view) {
Intent intent = new Intent();
// 自定义广播事件的名字:包名+业务名
intent.setAction("cn.zengfansheng.myevent");
this.sendBroadcast(intent); // 这是无序的广播
// this.sendOrderedBroadcast(intent, null);// 这是有序的广播
} |
二、广播接收 1、无序广播 setResultData("省部级修改消息后发送出来。。"); 只有在有序的广播下才有用 |
2、有序广播 receiver android:name="cn.zengfansheng.userdefinebroadcastreceiver.MyReceiver1">
<intent-filter android:priority="1000">设置优先级,最大为1000,值越大,优先级越高 <action android:name="cn.zengfansheng.myevent" />
</intent-filter>
</receiver>a) android:priority设置优先级,最大为1000,值越大,优先级越高优先级别高的先收到广播,优先级级别低的后收到 setResultData("省部级修改消息后发送出来。。"); 修改接收到的广播,优先级高的才能修改 b) abortBroadcast(); 终止广播,后面优先级低的收不到广播 |
c)如果是无序的广播,setResultData("省部级修改消息后发送出来。。");那么抛出异常。 10-17 22:33:00.594: E/BroadcastReceiver(11938): BroadcastReceiver trying to return result during a non-ordered broadcast |
|