Android平臺的雙網(wǎng)雙待的設(shè)計方法_第1頁
Android平臺的雙網(wǎng)雙待的設(shè)計方法_第2頁
Android平臺的雙網(wǎng)雙待的設(shè)計方法_第3頁
Android平臺的雙網(wǎng)雙待的設(shè)計方法_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、【W(wǎng)ord版本下載可任意編輯】 Android平臺的雙網(wǎng)雙待的設(shè)計方法 ( 4) 無線電服務(wù)管理者( Radio Service Manager) ,Android 通話應(yīng)用首先需要通過子系統(tǒng)信息來從framework 層獲得通話服務(wù),然后每個SIM 卡子系統(tǒng)將會映射到一個特定的RIL 實(shí)例ID上,服務(wù)管理將使用RIL 實(shí)例的ID 來識別子系統(tǒng)ID 中DSS API的參數(shù)。 3. 3 Android 雙網(wǎng)雙待通話機(jī)制的實(shí)現(xiàn) Android 系統(tǒng)電話服務(wù)的實(shí)現(xiàn)根底是RIL.在Android 單模狀態(tài)下的RIL 同TI 等平臺類似,均使用了Google 默認(rèn)的參考接口,也就是通過打開modem 側(cè)

2、提供的串口或者USB 虛擬串口向modem 側(cè)發(fā)送AT 指令的方式,開展實(shí)際的無線通信。比方,UI上層向RIL 層發(fā)送RIL_REQUEST_DIAL 請求,RIL 層在接收到該請求的時候,通過串口向modem 發(fā)送AT*命令,發(fā)起呼叫,當(dāng)然,終真正實(shí)現(xiàn)通話的是modem 側(cè)的功能,此時,與Android 就無關(guān)了。Android 平臺RIL 與modem 的工作原理如圖4 所示。 圖4 RIL 與modem 的工作原理 呼叫( call) 構(gòu)建于電話服務(wù)的基本架構(gòu)之上。 與呼叫相關(guān)的主要用戶接口,其實(shí)就是基于ITelephony 接口實(shí)現(xiàn)Phone 應(yīng)用中的Phone服務(wù),通過Telepho

3、nyManager 提供訪問接口。此服務(wù)內(nèi)部通過PhonyFactory 獲取的GSMPhone /CDMAPhone 來訪問RIL,提供諸如撥號、接通、掛斷、保持通話等服務(wù)功能。Android 雙網(wǎng)雙待呼叫部分的構(gòu)造如圖5 所示。 圖5 android 雙網(wǎng)雙待呼叫部分構(gòu)造 Android 系統(tǒng)雙網(wǎng)雙待呼叫部分的實(shí)現(xiàn),從GSMPhone /CDMAPhone到對應(yīng)RIL 的路徑中間主要涉及幾個關(guān)鍵數(shù)據(jù)構(gòu)造,即GSMCall /CDMACall、CallNotifiter、GSMConnection /CDMAConnection、CallTracker 等類。 其中GSMCall 和CDMA

4、Phone 都繼承Call 基類,提供基本的呼叫控制構(gòu)造以及呼叫狀態(tài),如Hold、Active 等信息,每個接通的GSMCall / CDMACall 都擁有一個或多個( conference call)GSMConnection /CDMAConnection 構(gòu)造,用于維護(hù)呼叫時長等相關(guān)信息。CallTracker 是呼叫模塊的,它提供與呼叫相關(guān)的接口,如通話、掛斷等。GSMPhone /CDMAPhone 擁有CallTracker的實(shí)例,并封裝相應(yīng)的接口,這個接口通過調(diào)用GSMPhone /CDMAPhone中的CommandsInterface 實(shí)現(xiàn),即提交的RIL 封裝。 除此之外

5、,CallTracker 還維護(hù)當(dāng)前的GSMCall 和CDMACall列表,保持對所有呼叫狀態(tài)的追蹤,提供對來去電等呼叫狀態(tài)的管理。實(shí)現(xiàn)追蹤的方法為pollCallsWhenSafe,通過CommandsInterface的getCurrentCalls 接口獲取當(dāng)前活動的呼叫列表。這一操作的底層實(shí)現(xiàn)為AT + CLCC( 不同的Modem 實(shí)現(xiàn)可能不同) ,這是從Modem 獲取呼叫狀態(tài)列表的主要接口?;卣{(diào)通過ENENT_ POLL _ CALLS-RESULT 完成,回調(diào)函數(shù)為handlePollCalls,這是獲取Modem 中實(shí)際呼叫信息的方法,也是Tracker的含義所在。hand

6、lePollCalls 完成實(shí)際的追蹤功能,根據(jù)底層上報的Outgoing、Incomming 以及Active、Hold 等狀態(tài)更新Call列表的信息,每個呼叫在其生命周期內(nèi)的狀態(tài)轉(zhuǎn)換,在Call-Tracker 中都可得到表達(dá),并將這些變化信息及時通知其關(guān)注者,也就是實(shí)現(xiàn)Phone 的應(yīng)用。 4 結(jié)果分析 基于Android 操作系統(tǒng)實(shí)現(xiàn)的雙網(wǎng)雙待功能模塊設(shè)計,利用Android 通用的系統(tǒng)架構(gòu)和設(shè)備無關(guān)的應(yīng)用程序開發(fā)平臺,實(shí)現(xiàn)了雙網(wǎng)雙待單通系統(tǒng)電話部分的框架設(shè)計和上層Phone 應(yīng)用程序設(shè)計。改良后的Android 系統(tǒng)平臺同時支持GSM 和CDMA兩種網(wǎng)絡(luò)同時待機(jī),這大大方便了許多擁有兩張手機(jī)卡并且不在同一制式網(wǎng)絡(luò)的用戶。圖6 為Android 系統(tǒng)平臺上GSM和CDMA 雙網(wǎng)同時待機(jī)的狀態(tài)圖。 圖6 GSM 和CDMA 雙網(wǎng)同時待機(jī)界面 5 結(jié)語 利用Android 原有系統(tǒng)架構(gòu)和本身包含一些Java 應(yīng)用程序,通過添加一套新的支持CDMA 的RIL 來實(shí)現(xiàn)基于Android平臺的雙網(wǎng)雙待設(shè)計,使得一部手機(jī)同時維護(hù)兩套獨(dú)立的RIL,既支持GSM 又支持CDMA,分別對雙SIM 卡開展各自獨(dú)立的處理,極大地方便了廣闊Android 手機(jī)用戶。Android 作為目前被給予厚望的智能手機(jī)操作系統(tǒng),實(shí)現(xiàn)雙網(wǎng)雙待必將為其贏得更廣闊的發(fā)展空間以及更多的擁護(hù)者,也將為未來的發(fā)展

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論