Android四大组件:BroadcastReceiver 介绍
介绍 BroadcastReceiver 即广播组件,是 Android 的四大组件之一。 用于监听和接收广播消息,并做出响应 。有以下一些应用: 不同组件之间的通信(应用内或不同应用之间)。 多线程之间通信。 与系统在特定情况下(例如,电话呼入时、网络可用时)的通信。 原理 Android 中的广播机制使用了 观察者设计模式:基于消息的发布、订阅事件模型 。因此,广播的发送者和接收者解耦,使得系统方便集成,更容易扩展。 模型中有三个角色: 消息订阅者(广播接收者) 消息发布者(广播发送者) 消息中心( ActivityManagerService ) 整个模型过程如下: 广播接收者通过 Binder 机制在 AMS 中注册订阅广播。 广播发送者通过 Binder 机制向 AMS 发送广播。 AMS 根据广播发送者要求(IntentFilter、Permission),在已注册列表中寻找适合的接收者。 AMS 将广播发送到合适的广播接收者相应的消息循环队列中。 广播接收者通过消息循环拿到广播,并回调 onReceive() 方法。 注:广播发送者和接收者的执行是异步的,发送者不会关心有无接收者接收,也不确定接收者何时才能接收到。 使用 步骤1:自定义广播接收器 继承 BroadcastReceiver 基类,并复写抽象方法 onReceive() 。默认情况下