Android 广播的基本概念

一.广播简介

Broadcast是安卓四大组件之一。安卓为了方便进行系统级别的消息通知,引入了一套广播消息机制。打个比方,记得原来在上课的时候,每个班级的教室里都会装有一个喇叭,这些喇叭都是接入到学校的广播室的,一旦有什么重要通知,如上课铃下课铃,学校就会播放一条广播来告知全校的师生。这是一个非常形象容易理解的句子,很好的解释了Broadcast大概的意思,不过,Android中的广播机制更加灵活。

为什么会说Android中的广播机制更加灵活呢?这是因为Android中的每个应用程序都可以对自己感兴趣的广播进行注册,这样该程序就只会接收到自己所关心的广播内容,这些广播可能来自于系统,也可能是来自于其他应用程序的。Android提供了一套完整的API,允许应用程序自由的发送和接收广播。接下来就先详细解释广播接收器。

二.广播的使用场景

  • 同一app内部的同一组件(Component)内的消息通信(单个或多个线程之间)
  • 同一app内部的不同组件之间的消息通信(单个进程)
  • 同一app具有多个进程的不同组件之间的消息通信
  • 不同app之间的组件之间消息通信
  • Android系统在特定情况下与App之间的消息通信

三.常见的系统广播

四.广播分为两大类

1.标准广播(Normal broadcasts)

是一种完全异步执行的广播,在广播发出之后,所有的广播接收器几乎都会在同一时刻接受到这条广播消息,因此它们之间没有任何先后顺序可言,这种广播的效率会比较高,但同时也意味着它是无法被拦截的。

2.有序广播(Ordered broadcasts)

是一种同步执行的广播,在广播发出之后,同一时刻只会有一个广播接收器能够收到这条广播消

息,当这个广播接收器中的逻辑执行完毕后,广播才会继续传递。所以此时的广播接受器是有先后

顺序的,优先级高的广播接收器就可以先收到广播消息,并且前面的广播接收器还可以截断正在传

递的广播,这样后面的广播接收器就无法收到广播消息了。

五.广播的使用

待更新。。。

相关推荐
尤老师FPGA8 小时前
petalinux修改设备树添加vdma生成linux系统
android·linux·运维
月山知了8 小时前
linux kernel component子系统:基于rk3588 Android 14 kernel-6.1 display-subsystem代码分析
android·linux·运维
leo_messi9410 小时前
多线程(五) -- 并发工具(二) -- J.U.C并发包(八) -- CompletableFuture组合式异步编程
android·java·c语言
Deryck_德瑞克14 小时前
【已解决】MySQL连接出错 1045 - Access denied for user ‘root‘@‘::1‘
android·mysql·adb
2501_9159184114 小时前
iOS性能测试工具 Instruments、Keymob的使用方法 不局限 FPS
android·ios·小程序·https·uni-app·iphone·webview
.豆鲨包15 小时前
【Android】组件化搭建的一般流程
android
心有—林夕15 小时前
MySQL 误操作恢复完全指南
android·数据库·mysql
忙什么果16 小时前
Mamba学习笔记2:Mamba模型
android·笔记·学习
Wyawsl16 小时前
MySQL故障排查与优化
android·adb
私人珍藏库18 小时前
[Android] 后台视频录制 FadCam v3.0.1
android·app·工具·软件·多功能