BroadcastReceiver(广播接收器)即广播,是一个全局的监听器。
Android 广播分为两个角色:广播发送者、广播接受者。
可以监听或接收应用 App 或系统发出的广播消息,并做出响应。
广播接收器的注册分为两种:静态注册、动态注册。
静态注册:静态注册即在清单文件(AndroidManifest.xml)中为 BroadcastReceiver 进行注册,使用< receiver >标签声明,并在标签内用 < intent-filter > 标签设置过滤器。这种形式的 BroadcastReceiver 的生命周期伴随着整个应用。如果这种方式处理的是系统广播,那么不管应用是否在运行,该广播接收器都能接收到该广播。
动态注册:动态注册 BroadcastReceiver 是在代码中定义并设置好一个 IntentFilter 对象,然后在需要注册的地方调用 Context.registerReceiver() 方法,调用 Context.unregisterReceiver() 方法取消注册,此时就不需要在清单文件中注册 Receiver 了。
有序广播(Ordered Broadcast)
同步执行的一种广播发出广播后,同一时间只有一个广播 同步执行的一-种广播发出广播后,同一时间只有一个广播接受者能收到,当这个广播接收者的逻辑执行完后,才会传O 接受者能收到,当这个广播接收者的逻辑执行完后,才会传递到下一个接收者:当然前面的接受者还可以阶段广播的 递到下一个接收者:当然前面的接受者还可以阶段广播的继续传递,那么后续接受者就无法收到广播信息了 继续传递,那么后续接受者就无法收到广播信息了
无序广播
指所有与之匹配的广播接收者都能收到广播,没有先后顺序,直到没有广播接收者接收广播为止才会停止广播的传递。
粘性广播
粘性广播无需注册直接发送广播,广播发送后立即被保存
普通广播
完全异步执行的广播,发出广播后,所有广播接收器几乎会在同一时刻收到这条广播通知.