1、作用
安卓提供的广播发布和订阅机制。BroadcastReceiver可以接收系统和应用的广播。
安卓系统也会发出一些广播:开机广播、电量低广播,网络状态改变广播(Intent中的不同Action)
应用可以通过sendBroadcast();方法发送广播。
2、注册机制
BroadcastReceiver要接收广播,需要注册自己关注的Action
(1)静态注册
在AndroidManifest.xml文件中配置, <intent-filter>中配置,静态注册又称常驻广播接收器,APP不需要运行,广播接收器就可以接收信息 。
(2)动态注册
MyReceiver receiver = new MyReceiver();
IntentFilter filter = new IntentFilter();
filter.addAction("android.intent.action.MY_BROADCAST");
registerReceiver(receiver, filter);
在组件的onDestroy时必需解除注册,不然会出错:
protected void onDestroy() {
super.onDestroy();
unregisterReceiver(receiver);
}
3、分类
(1)普通广播sendBroadcast()
接收器会都接口到
(2)有序广播sendOrderedBroadcast()
接收器按照IntentFilter的优先级顺序接收