无序广播
发送
/**无序广播*/
Intent intent =new Intent(Broadcast);
intent.putExtra("msg", "无序广播已发送");
sendBroadcast(intent);
接收
public String Broadcast="com.sendbroadcast.action.BROADCAST"; //接收广播适配符(有序无序通用)
if(arg1.getAction().equals(Broadcast)){
String str=getResultExtras(true).getString("msg");
Toast.makeText(arg0, str, 1000).show();
Log.e(">>>>>>>>>>>>>oneBroadcast", str);
注册
<receiver android:name="com.sendbroadcast.action.twoBroadcast"><intent-filter >
<action android:name="com.sendbroadcast.action.BROADCAST"/></intent-filter> //适配符
</receiver>
发送
/**有序广播*/
Intent intent =new Intent(Broadcast);
intent.putExtra("msg", "无序广播已发送");
sendOrderedBroadcast(intent, "com.sendbroadcast.action.MY_BROADCAST");//权限
if(arg1.getAction().equals(Broadcast)){
<span style="white-space:pre"> </span>String str=getResultExtras(true).getString("msg");
<span style="white-space:pre"> </span>Toast.makeText(arg0, str, 1000).show();
<span style="white-space:pre"> </span>Log.e(">>>>>>>>>>>>>oneBroadcast", str);
if(arg1.getAction().equals(Broadcast)){
String str=arg1.getStringExtra("msg");
Bundle bundle=new Bundle();
bundle.putString("msg", str+"广播已更改");
setResultExtras(bundle);//拦截
Toast.makeText(arg0, str, 1000).show();
Log.e(">>>>>>>>>>>>>twoBroadcast", str);
}
注册
<!-- 定义发送有序广播权限 -->
<permission android:protectionLevel="normal"
android:name="com.sendbroadcast.action.MY_BROADCAST"></permission>
<!-- 使用权限 -->
<uses-permission android:name="com.sendbroadcast.action.MY_BROADCAST"/>
<!-- 第一个广播接收者 -->
<receiver android:name="oneBroadcast"
android:permission="true">
<!-- 有序广播优先级 -->
<intent-filter android:priority="800"> //有序广播根据优先级大小(-1000到1000)为顺序接收广播
<action android:name="com.sendbroadcast.action.BROADCAST"/>
</intent-filter>
</receiver>