发送有序广播方式:
Intent intent=new Intent();
intent.setAction("com.song.lu");
intent.putExtra("msg","简单的消息");
sendOrderedBroadcast(intent,null);
有序广播配置说明:
<receiver android:name=".MyReceiver">
<intent-filter
android:priority="20">
<action android:name="com.song.lu"></action>
</intent-filter>
</receiver>
<receiver android:name=".MyReceiver2">
<intent-filter
android:priority="0">
<action android:name="com.song.lu"></action>
</intent-filter>
</receiver>
配置有序广播需要在intent-filter里面加上优先级属性优先级越大则这个广播越早被接收
第一个接收者
Toast.makeText(context,"接收到的intentde action:"+intent.getAction()
+"\n消息内容是:"+intent.getStringExtra("msg"),5000).show();
Bundle bundle=new Bundle();
bundle.putString("first","第一个BroadcastReceiver存入的消息");
this.setResultExtras(bundle);
//abortBroadcast();
接收者可以得到action名字可以得到广播传来的消息,可以使用setResultExtras把bundle消息放进intent里面让后面的广播去接收
第二个接收者
Bundle bundle=getResultExtras(true);
String first=bundle.getString("first");
Toast.makeText(context,"第一个过来的消息"+first,5000).show();
后面的广播接收者就可以用getResultExtras(true)取得bundle来进行接收了