广播机制
分标准广播和有序广播,发送通过intent实现,接受通过Broadcast Receiver实现。
1、动态注册(代码中注册)
只需新建类继承自BroadcastReceiver,重写父类的onReceive()方法即可。
比如
2、访问系统关键性信息时,需要在manifest中申请权限
比如
3、静态注册(manifest中注册,不需要程序必须启动)
在manifest文件中,以
格式实现
其中,action内容来表明想要接受的广播。
4、发送标准广播和有序广播
其中用intent来传递广播,sendBroadcast来发送标准广播。而对有序广播,只需
即可,其中有两个参数,第一个是intent,第二个是权限相关字符串,这里传入null即可。
对于有序广播,可以设定优先级:
还可以截断广播(在广播接收器中),则在此传播器终止:
5、本地广播(只能动态注册)
只需使用LocalBroadcastManager来进行管理。
即,获取实例时,调用LocalBroadcastManager的方法
注册广播接收器时调用LocalBroadcastManager的方法
发送广播时需要调用LocalBroadcastManager的方法
6、实践——强制下线