.
1. 无序广播 sendBroadcast(intent);
2. 有序广播 sendOrderedBroadcast(intent,receiverPermission);
3. 优先级相同时,在配置文件中靠前的先得到消息
不同程序中,哪个先安装哪个就先得道消息
发广播:------------------无需配置
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
/**
* 发送无序广播
* @param view
*/
public void send1(View view){
Intent intent = new Intent();
intent.setAction("com.itheima.broadcasttest.songwennuan");
intent.putExtra("msg", "发1万块"); //发送的消息
//无序广播,不可被拦截,不可终止。
sendBroadcast(intent);
}
/**
* 发送有序广播
* @param view
*/
public void send2(View view){
Intent intent = new Intent();
intent.setAction("com.itheima.broadcasttest.songwennuan");
//有序广播,可被拦截,可终止,可以修改数据。
sendOrderedBroadcast(intent, null, new FinalReceiver(), null, 0, "给农民兄弟发10000块钱", null);
//第三个参数,谁必须要收到广播new FinalReceiver()----------其中一个接收者
}
}
接收者:------------------------------------需要配置
优先级intent-filterandroid:priority="1000”
public class Level1Receiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
String message = getResultData();
System.out.println("省级部门得到中央的消息:"+message);
//abortBroadcast(); //拦截广播
setResultData("给农民兄弟发5000块钱"); //改广播的内容
}