Android中广播的基本原理,具体实现流程要点粗略概括如下:

1.广播接收者BroadcastReceiver通过Binder机制向AMS(Activity Manager Service)进行注册;

2.广播发送者通过binder机制向AMS发送广播;

3.AMS查找符合相应条件(IntentFilter/Permission等)的BroadcastReceiver,将广播发送到BroadcastReceiver(一般情况下是Activity)相应的消息循环队列中;

4.消息循环执行拿到此广播,回调BroadcastReceiver中的onReceive()方法。

 对于不同的广播类型,以及不同的BroadcastReceiver注册方式,具体实现上会有不同。但总体流程大致如上。

由此看来,广播发送者和广播接收者分别属于观察者模式中的消息发布和订阅两端,AMS属于中间的处理中心。广播发送者和广播接收者的执行是异步的,发出去的广播不会关心有无接收者接收,也不确定接收者到底是何时才能接收到

更多相关文章

  1. 让你的Android应用与外部元素互动起来
  2. Android常亮设置以及读取电量
  3. Android学习笔记(十九)分享简单数据
  4. android监听网络状态,实时更新网络状态
  5. Android模拟手机QQ+发送短信案例
  6. Android(安卓)解决静态广播收不到的问题
  7. android亮屏、黑屏、解锁事件的系统广播接收
  8. 自定手机App消息开发说明
  9. Android简单实现Socket通信,客户端连接服务器后,服务器向客户端发

随机推荐

  1. 身在职场,这6条大实话潜规则你知道吗?
  2. jQuery五彩火焰背景的3D进度条插件
  3. 报错ERROR: Failed to Setup IP tables:
  4. nginx配置ssl证书访问不了https网站
  5. 学历造假Offer被撤,职场诚信是底线
  6. HTML5中国象棋游戏,可自定义难度
  7. 超实用的VueJS滑块组件,支持级联滑动和渐
  8. 面试被问“期望薪资多少”?高情商的人都这
  9. PMP备考复盘,可供学习时间有限的同学参考
  10. 超级炫酷!HTML5 Canvas火焰画笔动画