[android] 09_无序和有序的广播

Android 4.0

无序和有序的广播 

一、广播发送 
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