国产肉体XXXX裸体137大胆,国产成人久久精品流白浆,国产乱子伦视频在线观看,无码中文字幕免费一区二区三区 国产成人手机在线-午夜国产精品无套-swag国产精品-国产毛片久久国产

新聞中心

EEPW首頁 > 專題 > 基于Android平臺的雙網(wǎng)雙待的設計方法

基于Android平臺的雙網(wǎng)雙待的設計方法

——
作者: 時間:2012-11-30 來源:電子產(chǎn)品世界 收藏

  3. 3 雙網(wǎng)雙待通話機制的實現(xiàn)

本文引用地址:http://m.ptau.cn/article/139563.htm

   系統(tǒng)電話服務的實現(xiàn)基礎是RIL.在 單模狀態(tài)下的RIL 同TI 等平臺類似,均使用了Google 默認的參考接口,也就是通過打開modem 側(cè)提供的串口或者USB 虛擬串口向modem 側(cè)發(fā)送AT 指令的方式,進行實際的無線通信。比如,UI上層向RIL 層發(fā)送RIL_REQUEST_DIAL 請求,RIL 層在接收到該請求的時候,通過串口向modem 發(fā)送“AT***”命令,發(fā)起呼叫,當然,最終真正實現(xiàn)通話的是modem 側(cè)的功能,此時,與Android 就無關了。Android 平臺RIL 與modem 的工作原理如圖4 所示。

  

 

  圖4 RIL 與modem 的工作原理

  呼叫(call)構建于電話服務的基本架構之上。

  與呼叫相關的主要用戶接口,其實就是基于ITelephony 接口實現(xiàn)Phone 應用中的“Phone”服務,通過TelephonyManager 提供訪問接口。此服務內(nèi)部通過PhonyFactory 獲取的Phone /CDMAPhone 來訪問RIL,提供諸如撥號、接通、掛斷、保持通話等服務功能。Android 雙網(wǎng)雙待呼叫部分的結(jié)構如圖5 所示。

  

 

  圖5 android 雙網(wǎng)雙待呼叫部分結(jié)構

  Android 系統(tǒng)雙網(wǎng)雙待呼叫部分的實現(xiàn),從Phone /CDMAPhone到對應RIL 的路徑中間主要涉及幾個關鍵數(shù)據(jù)結(jié)構,即Call /CDMACall、CallNotifiter、GSMConnection /CDMAConnection、CallTracker 等類。

  其中GSMCall 和CDMAPhone 都繼承Call 基類,提供基本的呼叫控制結(jié)構以及呼叫狀態(tài),如Hold、Active 等信息,每個接通的GSMCall / CDMACall 都擁有一個或多個(conference call)GSMConnection /CDMAConnection 結(jié)構,用于維護呼叫時長等相關信息。CallTracker 是呼叫模塊的核心,它提供與呼叫相關的接口,如通話、掛斷等。GSMPhone /CDMAPhone 擁有CallTracker的實例,并封裝相應的接口,這個接口通過調(diào)用GSMPhone /CDMAPhone中的CommandsInterface 實現(xiàn),即提交的RIL 封裝。

  除此之外,CallTracker 還維護當前的GSMCall 和CDMACall列表,保持對所有呼叫狀態(tài)的追蹤,提供對來去電等呼叫狀態(tài)的管理。實現(xiàn)追蹤的方法為pollCallsWhenSafe,通過CommandsInterface的getCurrentCalls 接口獲取當前活動的呼叫列表。這一操作的底層實現(xiàn)為AT + CLCC(不同的Modem 實現(xiàn)可能不同),這是從Modem 獲取呼叫狀態(tài)列表的主要接口。回調(diào)通過ENENT_ POLL _ CALLS-RESULT 完成,回調(diào)函數(shù)為handlePollCalls,這是獲取Modem 中實際呼叫信息的核心方法,也是Tracker的含義所在。handlePollCalls 完成實際的追蹤功能,根據(jù)底層上報的Outgoing、Incomming 以及Active、Hold 等狀態(tài)更新Call列表的信息,每個呼叫在其生命周期內(nèi)的狀態(tài)轉(zhuǎn)換,在Call-Tracker 中都可得到體現(xiàn),并將這些變化信息及時通知其關注者,也就是實現(xiàn)Phone 的應用。



關鍵詞: Android GSM

評論


相關推薦

技術專區(qū)

關閉