IMS service 框架

前言

本文代码基于 Android S。

框架

Ims 结构层级

Ims 框架的核心是 ImsService ,它向 phone fw 提供 aidl 接口。这些接口提供 ims 相关的所有信息。

更直观的表示:
imsservice 提供的 aidl 接口

其中:
IImsMmTelFeature 提供 ims call 相关的信息;
IImsRcsFeature 提供 ims rcs 相关的信息;
IImsRegistration 提供 ims feature 注册状态的信息;
等。

框架中主要类介绍及其作用

ImsService:
ImsService

ImsResolver 等:
Ims 相关文件 .png

Ims service 提供的 Ims call 相关的信息:
ims call 相关文件

IMS 绑定流程

phone 进程启动后,会调用 ImsResolver 管理它设备上所有 Ims feature 的 services 的绑定,实际绑定操作由 ImsServiceController 执行,绑定成功后,每个 ImsService 都会返回其对应的 IImsServiceController 接口,phone fw 可以通过这个 IImsServiceController 接口注册 IImsFeatureStatusCallback 等回调或获取 MmTelFeature 相关的接口 IImsMmTelFeature 等。

简述为:
绑定 IMS Service 并创建 ImsFeature 的流程图

其具体流程为:
Android S ims service bind 流程

有的应用需要监听某个 ImsFeature 的状态变更, 可以使用 FeatureConnector 来注册监听。

FeatureConnector 用来管理和 ImsFeature manager 的连接,所有和 ImsFeature 的连接(IIMmTelFeature、IImsRcsFeature)都存储在 ImsFeatureBinderRepository 中,FeatureConnector 会向透传监听到这个存储库,然后统一处理 callback 结果封装返回给注册方。如下:
获取 ims MmTelFeature 状态变更的流程图

具体流程如下:


FeatureConnector 管理 ImsFeature 的连接

原创文章,欢迎转载,但请注明出处。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 背景 以下内容基于Android N code。 本文会从应用框架、进程交互、流程几个方面,讲解Android手机...
    朱兰婷阅读 4,819评论 2 10
  • 背景 以下内容基于Android P code。 应用框架设计 Android电话模块是一个典型的分层结构设计,如...
    朱兰婷阅读 9,410评论 10 21
  • Laravel 学习交流 QQ 群:375462817 本文档前言Laravel 文档写的很好,只是新手看起来会有...
    Leonzai阅读 8,082评论 2 12
  • 用两张图告诉你,为什么你的 App 会卡顿? - Android - 掘金 Cover 有什么料? 从这篇文章中你...
    hw1212阅读 12,970评论 2 59
  • *面试心声:其实这些题本人都没怎么背,但是在上海 两周半 面了大约10家 收到差不多3个offer,总结起来就是把...
    Dove_iOS阅读 27,216评论 30 472