一.广播简介
Broadcast是安卓四大组件之一。安卓为了方便进行系统级别的消息通知,引入了一套广播消息机制。打个比方,记得原来在上课的时候,每个班级的教室里都会装有一个喇叭,这些喇叭都是接入到学校的广播室的,一旦有什么重要通知,如上课铃下课铃,学校就会播放一条广播来告知全校的师生。这是一个非常形象容易理解的句子,很好的解释了Broadcast大概的意思,不过,Android中的广播机制更加灵活。
为什么会说Android中的广播机制更加灵活呢?这是因为Android中的每个应用程序都可以对自己感兴趣的广播进行注册,这样该程序就只会接收到自己所关心的广播内容,这些广播可能来自于系统,也可能是来自于其他应用程序的。Android提供了一套完整的API,允许应用程序自由的发送和接收广播。接下来就先详细解释广播接收器。
二.广播的使用场景
- 同一app内部的同一组件(Component)内的消息通信(单个或多个线程之间)
- 同一app内部的不同组件之间的消息通信(单个进程)
- 同一app具有多个进程的不同组件之间的消息通信
- 不同app之间的组件之间消息通信
- Android系统在特定情况下与App之间的消息通信
三.常见的系统广播
四.广播分为两大类
1.标准广播(Normal broadcasts)
是一种完全异步执行的广播,在广播发出之后,所有的广播接收器几乎都会在同一时刻接受到这条广播消息,因此它们之间没有任何先后顺序可言,这种广播的效率会比较高,但同时也意味着它是无法被拦截的。
2.有序广播(Ordered broadcasts)
是一种同步执行的广播,在广播发出之后,同一时刻只会有一个广播接收器能够收到这条广播消
息,当这个广播接收器中的逻辑执行完毕后,广播才会继续传递。所以此时的广播接受器是有先后
顺序的,优先级高的广播接收器就可以先收到广播消息,并且前面的广播接收器还可以截断正在传
递的广播,这样后面的广播接收器就无法收到广播消息了。
五.广播的使用
待更新。。。