BroadcastReceiver译为广播接受者,接收来自系统和应用的广播。实际上是一种观察者模式的实现。在观察者模式当中,有两种角色,其中的第一种角色叫做发布者,第二种角色叫做订阅者。如果订阅者对发布者进行了订阅,那么当发布者有所更新的时候订阅者就会接受到发布者发布的消息通知。广播接收则有两种注册方式,第一种是通过Java代码中进行注册,第二种则是在项目清单文件中通过XML方式注册。
下面我们就对这两种注册方式分别进行介绍。
1.通过Java方式注册广播接收者。
其中的filter是意图过滤器,filter.addAction();是为意图过滤器添加过滤动作。
2.通过XML方式进行注册。
广播接收者用于接收广播Intent,广播Intent的发送通过调用Context.sendBroadcast()来实现。通常一个广播Intent可以被订阅了此Intent的多个广播接收者所接收。广播是一种广泛应用于应用程序之间进行传输信息的机制。而BroadcastReceiver是对发送出来的广播进行过滤接收并相应的一类组件。BroadcastReceiver是在接收到某个通知的时候,启动Activity作为响应,也会通过NotificationManager提醒用户,或者启动Service等。