广播类型
标准广播
- 完全异步执行
- 所有广播接收器几乎同一时刻接收到广播消息
- 所有广播接收器接收的消息无先后顺序
- 效率较高
- 无法被截断
有序广播
- 同步执行的广播
- 同一时刻只有一个广播接收器能够收到这个广播
- 只有当前一个广播接收器中的逻辑执行完毕后,广播才会继续传递,广播接收器彼此之前有先后顺序
- 优先级高的广播接收器可以截断后面的广播
注册广播
动态注册
- 在代码中注册
- 注册接收器处理逻辑,新建一个类,继承自BroadcastReceiver,并重写父类的onReceive()方法
class NetworkChangeReceiver extends BroadcastReceiver {
@override
public void onReceive(Context context, Intent intent) {
}
}
- 创建监听对象
IntentFilter = new IntentFilter();
intentFilter.addaction("");
networkChangeReceiver = new NetworkChangeReceiver();
registerReceiver(networkChangeReceiver, intentFilter);
- 取消注册广播接收器
unregisterReceiver(networkChangeReceiver)
静态注册
在AndroidMainfest.xml中注册
问题
- intentfilter中的addaction可以添加多个action吗?