Android中广播的基本原理
16lz
2021-01-26
Android中广播的基本原理,具体实现流程要点粗略概括如下:
1.广播接收者BroadcastReceiver通过Binder机制向AMS(Activity Manager Service)进行注册;
2.广播发送者通过binder机制向AMS发送广播;
3.AMS查找符合相应条件(IntentFilter/Permission等)的BroadcastReceiver,将广播发送到BroadcastReceiver(一般情况下是Activity)相应的消息循环队列中;
4.消息循环执行拿到此广播,回调BroadcastReceiver中的onReceive()方法。
对于不同的广播类型,以及不同的BroadcastReceiver注册方式,具体实现上会有不同。但总体流程大致如上。
由此看来,广播发送者和广播接收者分别属于观察者模式中的消息发布和订阅两端,AMS属于中间的处理中心。广播发送者和广播接收者的执行是异步的,发出去的广播不会关心有无接收者接收,也不确定接收者到底是何时才能接收到
更多相关文章
- 让你的Android应用与外部元素互动起来
- Android常亮设置以及读取电量
- Android学习笔记(十九)分享简单数据
- android监听网络状态,实时更新网络状态
- Android模拟手机QQ+发送短信案例
- Android(安卓)解决静态广播收不到的问题
- android亮屏、黑屏、解锁事件的系统广播接收
- 自定手机App消息开发说明
- Android简单实现Socket通信,客户端连接服务器后,服务器向客户端发