IMS service 框架

前言

本文代碼基于 Android S。

框架

Ims 結構層級

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

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

其中:
IImsMmTelFeature 提供 ims call 相關的信息;
IImsRcsFeature 提供 ims rcs 相關的信息;
IImsRegistration 提供 ims feature 注冊狀態(tài)的信息;
等。

框架中主要類介紹及其作用

ImsService:
ImsService

ImsResolver 等:
Ims 相關文件 .png

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

IMS 綁定流程

phone 進程啟動后,會調用 ImsResolver 管理它設備上所有 Ims feature 的 services 的綁定,實際綁定操作由 ImsServiceController 執(zhí)行,綁定成功后,每個 ImsService 都會返回其對應的 IImsServiceController 接口,phone fw 可以通過這個 IImsServiceController 接口注冊 IImsFeatureStatusCallback 等回調或獲取 MmTelFeature 相關的接口 IImsMmTelFeature 等。

簡述為:
綁定 IMS Service 并創(chuàng)建 ImsFeature 的流程圖

其具體流程為:
Android S ims service bind 流程

有的應用需要監(jiān)聽某個 ImsFeature 的狀態(tài)變更, 可以使用 FeatureConnector 來注冊監(jiān)聽。

FeatureConnector 用來管理和 ImsFeature manager 的連接,所有和 ImsFeature 的連接(IIMmTelFeature、IImsRcsFeature)都存儲在 ImsFeatureBinderRepository 中,FeatureConnector 會向透傳監(jiān)聽到這個存儲庫,然后統(tǒng)一處理 callback 結果封裝返回給注冊方。如下:
獲取 ims MmTelFeature 狀態(tài)變更的流程圖

具體流程如下:


FeatureConnector 管理 ImsFeature 的連接

原創(chuàng)文章,歡迎轉載,但請注明出處。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • 背景 以下內容基于Android N code。 本文會從應用框架、進程交互、流程幾個方面,講解Android手機...
    朱蘭婷閱讀 5,086評論 2 10
  • 背景 以下內容基于Android P code。 應用框架設計 Android電話模塊是一個典型的分層結構設計,如...
    朱蘭婷閱讀 10,116評論 10 21
  • Laravel 學習交流 QQ 群:375462817 本文檔前言Laravel 文檔寫的很好,只是新手看起來會有...
    Leonzai閱讀 8,721評論 2 12
  • 用兩張圖告訴你,為什么你的 App 會卡頓? - Android - 掘金 Cover 有什么料? 從這篇文章中你...
    hw1212閱讀 14,104評論 2 59
  • *面試心聲:其實這些題本人都沒怎么背,但是在上海 兩周半 面了大約10家 收到差不多3個offer,總結起來就是把...
    Dove_iOS閱讀 27,656評論 30 472

友情鏈接更多精彩內容