1、首先发送一个广播
Intent intent = new Intent(类名.START); //START自己定义静态的标识
sendBroadcast(intent);//发送广播
2、接收广播
//注册广播接收器
//IntentFilter意图过滤器
IntentFilter filter = new IntentFilter();
filter.addAction(类名.START);
registerReceiver(mReceiver,filter); //动态注册
//广播接收器执行的操作
BroadcastReceiver mReceiver = new BroadcastReceiver(){
//实现onReceive
@Override
public void onReceive(Context context, Intent intent) {
if(类名.START.equals(intent.getAction())){
//这里执行你想要执行的操作
}
}
}
//在重写一个
@Override
protected void onDestroy() {
super.onDestroy();
//注销
unregisterReceiver(mReceiver);
}
就怎么简单,两步走
总结:
无序广播 特点:效率高不可拦截 所以广播接收者都能收到 sendBroadcast();
有序广播 特点: 有优先级,只会有一个广播接收者接收广播(可传递) 效率低,可拦截
在清单文件设置priority属性值越大优先级越高 如果优先级高的广播将广播终止,那么广播不在传递
通过sendOrderedBroadcast(intent,null); 方法发送广播
通过abortBroadcast();方法拦截广播
发送指定广播接收者
1、写一个类叫MyBroadcastReceiver继承BroadcastReceiver
2、在发送有序广播 sendOrderedBroadcast(intent,null,MyBroadcastReceiver对象,null,0,null,null);这个方法去指定接收者
3、MyBroadcastReceiver就能收到广播