Android Telephony9.0 Connection 区分关系
生活随笔
收集整理的這篇文章主要介紹了
Android Telephony9.0 Connection 区分关系
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
在TelephonyFramework中?Connection有一共有兩個(gè)?
這里需要關(guān)注幾個(gè)重點(diǎn)
- 兩個(gè)Connection抽象
兩個(gè)Connection抽象類對(duì)應(yīng)的代碼分別在framework/base/telecom和framework/opt/telephony代碼庫中。區(qū)分包名 - android.telecom.Connection
android.telecom.Connection的子類代碼在TeleService代碼庫中,有TelephonyConnection抽象類GsmConnection和CdmaConnection作為TelephonyConnection的抽象的子類 - com.android.internal.telephony.Connection
com.android.internal.telephony.Connection的子類代碼在framewrok/opt/telephony代碼庫中,僅有一個(gè)子類就是GsmCdmaConnection - 運(yùn)行空間
GsmConnection,CdmaConnection和GsmCdmaConnection對(duì)象全部是運(yùn)行在com.android.phone進(jìn)程中 - 兩個(gè)Connection的關(guān)系
TelephonyConnection對(duì)象的mOrginalConnection屬性是GsmCdmaConnection對(duì)象的應(yīng)用,在創(chuàng)建此對(duì)象時(shí)便建立起來了依賴關(guān)系;GsmCdmaConnection對(duì)象的mListenrs列表中,保存著TelephonyConnection內(nèi)部匿名類對(duì)象,mOriginalConnectionListener,他重寫了com.android.internal.telephony.Connection.ListenerBase類的方法 - 消息流轉(zhuǎn)
TelephonConnection通過mOrginalConnection屬性訪問Telephon Voice Call 語音通話模型中的屬性和方法
重點(diǎn):
GsmCdmaConnection通過mListers列表,調(diào)用其Listener接口,從而訪問TelephonyConnecton主類的方法,傳遞通話變化的相關(guān)信息。我這里就不做代碼處理了
這里來講解一下兩個(gè)通道處理
TelephonyConnection對(duì)象接收通話變化消息有兩個(gè)通道:
兩個(gè)通道接收到的通話變化消息,最后都是通過TelephonyConnection的mListener消息調(diào)用進(jìn)行傳遞的。TelephonyConnection mListeners保存著android.telecom.Connection.Listener對(duì)象,他有8個(gè)子類,其中最關(guān)鍵的是ConnectionService和TelephonyConferenceController類的mConnectionListener內(nèi)部匿名類對(duì)象
總結(jié)
以上是生活随笔為你收集整理的Android Telephony9.0 Connection 区分关系的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 低功耗读卡(RFID)电路与程序实现
- 下一篇: Android基础知识精简版(转)