一、BroadcastReceiver简介
在Android系统中,广播是一种运用在应用程序之间传递消息的机制,比如电量低时会发送一条提示广播。BroadcastReveiver是Android四大组件之一,通过它可以监听系统中的广播消息,并实现在不同组件之间的通信。
二、应用场景
- 不同组件之间的通信(包括应用内和应用之间)
- 与Android系统在特定情况下的通信(比如低电量)
- 线程之间的通信
三、生命周期
当一个broadcast信息到达该receiver,Android调用它的onReceive()方法并将含有该广播信息的intent 对象传递它。Broadcast receiver仅仅在执行该方法时才被认为是活跃的。当onReceive()返回后,它又处于非活跃状态。也就是说,它的生命周期为从回调onReceive()方法开始到该方法返回结果后结束。最长只有10秒,所以我们不能再OnReceive()中做耗时的任务,可以将耗时的任务转移到服务中进行。
四、实现原理
Android中的广播使用了设计模式中的观察者模式,基于消息的发布/订阅事件模型。
五、使用方式
首先需要自定义一个broadcastRecevier类,通过该类去处理接受广播后的消息。然后再对广播接收器进行注册,只有注册了广播接受器才会接收到广播信息。注册方式有以下两种:
1、静态注册
在manifest文件中,添加以下代码: