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