1.概述
在10.0的app开发过程中,在发送广播的功能也是非常常用的功能,而在系统中广播是AMS负责处理的, ActivityManagerService负责广播分发过来。ActivityManagerService是如何得到广播并把它分发出去的呢? 这就是本文要介绍的广播发送过程了
2.app发送广播sendBroadcast的流程分析二的核心类
frameworks\base\services\core\java\com\android\server\am\BroadcastQueue.java
frameworks\base\services\core\java\com\android\server\am\ActivityManagerService.java
3.app发送广播sendBroadcast的流程分析二的核心功能分析和实现
在系统中,广播的发送者ContextImpl.java将广播发送到ActivityManagerService, ActivityManagerService接收到这个广播以后,就会在自己的注册中心查看有哪些广播接收器 订阅了该广播,然后把这个广播逐一发送到这些广播接收器中,但是ActivityManagerService 并不等待广播接收器处理这些广播就返回了,因此,广播的发送和处理是异步的。概括来说 ,广播的发送路径就是从发送者到ActivityManagerService,再从ActivityMa