一種Android雙模RIL系統(tǒng)的構(gòu)建方法及系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開了一種Android雙模RIL系統(tǒng)的構(gòu)建方法及系統(tǒng),該方法根據(jù)不同的通信制式來構(gòu)建多個(gè)單模RIL系統(tǒng),從中選取兩個(gè)單模RIL系統(tǒng)來構(gòu)建雙模RIL系統(tǒng),并分別為這個(gè)兩個(gè)單模RIL系統(tǒng)中的RIL-Java模塊、RILD模塊構(gòu)建通訊通道,再根據(jù)Phone管理器來調(diào)度每個(gè)單模RIL系統(tǒng)中的Phone模塊;利用本發(fā)明在構(gòu)建多種雙模RIL系統(tǒng)的情況下其工作量明顯減小。
【專利說明】—種Android雙模RIL系統(tǒng)的構(gòu)建方法及系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于智能手持移動(dòng)終端操作系統(tǒng)領(lǐng)域,具體地說是ー種Android雙模RIL系統(tǒng)的構(gòu)建方法及系統(tǒng)。
【背景技術(shù)】
[0002]隨著通信技術(shù)的發(fā)展,用戶對(duì)雙模移動(dòng)終端的需求越來越強(qiáng)烈,終端廠商開發(fā)雙模終端的動(dòng)カ也越來越足。雙模終端一般可以分為雙模雙待終端和雙模單待終端,雙模終端中最關(guān)鍵的是雙模的RIL系統(tǒng),一般說來,雙模終端的RIL系統(tǒng)都與特定的硬件平臺(tái)相關(guān),且不同的雙模終端都需要大量修改第三方應(yīng)用程序,給雙模終端開發(fā)造成了不便,増加了開發(fā)工作量。
[0003]另ー方面,Android手機(jī)操作系統(tǒng)平臺(tái)是ー個(gè)架構(gòu)良好的層次化軟硬件平臺(tái),可以分為四層:最上層為應(yīng)用程序?qū)樱刹僮飨到y(tǒng)廠商或者第三方開發(fā)人員提供多種功能的應(yīng)用程序;第二層為應(yīng)用框架層,提供應(yīng)用程序運(yùn)行的Java層框架及必要的基礎(chǔ)服務(wù)等;第三層為系統(tǒng)運(yùn)行庫層,提供系統(tǒng)庫和Android運(yùn)行時(shí)庫;最底層為Linux內(nèi)核層,提供必要的操作系統(tǒng)內(nèi)核驅(qū)動(dòng)和硬件驅(qū)動(dòng)。
[0004]如圖1所示,原生Android RIL系統(tǒng)包括Phone模塊20、RIL-Java模塊30、RILD模塊40和通信模塊50 ;
[0005]然而,現(xiàn)有的構(gòu)建Android雙模RIL系統(tǒng)的方法都是根據(jù)硬件廠商指定的兩種通信制式來構(gòu)建的,然而隨著4G等更新一代的通信制式的出現(xiàn),采用這種構(gòu)建方法多種雙模RIL系統(tǒng)其工作量顯然比較大,不具有普適性。
【發(fā)明內(nèi)容】
[0006]本發(fā)明所解決的技術(shù)問題是提供ー種具有普適性的Android雙模RIL系統(tǒng)的構(gòu)建方法以及利用該方法所構(gòu)建的系統(tǒng)。
[0007]為解決上述技術(shù)問題,本發(fā)明ー種Android雙模RIL系統(tǒng)的構(gòu)建方法,包括以下步驟:
[0008](1)構(gòu)建不同通信制式的單模的RIL系統(tǒng):采用原生Android RIL系統(tǒng)的Phone模塊、RIL-Java模塊、RILD模塊和通信模塊,根據(jù)通信制式及硬件平臺(tái)的不同來配置Phone模塊、RIL-Java模塊、RILD模塊中的AT命令字處理子模塊和RILD模塊中的通信模塊驅(qū)動(dòng)器;
[0009](2)構(gòu)建雙模的第一通信通道與第二通信通道;
[0010](3)構(gòu)建Phone管理器用于調(diào)度姆個(gè)單模RIL系統(tǒng)中的Phone模塊;所述Phone管理器包括Phone模塊啟動(dòng)器和通知接收器的注冊(cè)器;
[0011](4)任意選取2個(gè)步驟(1)中構(gòu)建的單模RIL系統(tǒng)分別作為第一 RIL系統(tǒng)和第二RIL系統(tǒng);所述第一 RIL系統(tǒng)中的RIL-Java模塊和RILD模塊采用步驟(2)中所述的第一通信通道進(jìn)行通信;第二 RIL系統(tǒng)中的RIL-Java模塊和RILD模塊采用步驟(2)中所述的第二通信通道進(jìn)行通信;[0012](5) Phone管理器啟動(dòng)步驟(4)選取的2個(gè)單模RIL系統(tǒng)中的Phone模塊,并注冊(cè)上述2個(gè)單模RIL系統(tǒng)的通知接收器。
[0013]進(jìn)ー步地優(yōu)選方案,本發(fā)明Android雙模RIL系統(tǒng)的構(gòu)建方法中,所述步驟(1)的通信制式為 2G 的 GSM、CDMA 或 3G 的 WCDMA、CDMA2000、TD-SCDMA。
[0014]進(jìn)ー步地優(yōu)選方案,本發(fā)明Android雙模RIL系統(tǒng)的構(gòu)建方法中,所述第一通信通道為原生Android RIL系統(tǒng)中RIL-Java模塊和RILD模塊通信的socket通道;所述第二通信通道米用與原生Android系統(tǒng)的其他socket通道的名稱不沖突的socket通道。
[0015]同時(shí)本發(fā)明還提出了ー種利用該方法構(gòu)建的Android雙模RIL系統(tǒng),其特征在于:包括第一 RIL系統(tǒng)和第二 RIL系統(tǒng),所述第一 RIL系統(tǒng)包括第一 Phone模塊、第一 RIL-Java模塊、第一 RILD模塊和第一通信模塊;所述第一 RIL-Java模塊與第一 RILD模塊采用原生Android RIL系統(tǒng)的socket通道;所述第二 RIL系統(tǒng)包括第二 Phone模塊、第二 RIL-Java模塊、第二 RILD模塊和第二通信模塊,所述第二 RIL-Java模塊與第二 RILD模塊采用與原生Android系統(tǒng)的其他socket通道的名稱不沖突的socket通道。
[0016]本發(fā)明與現(xiàn)有技術(shù)相比,具有以下顯著的優(yōu)點(diǎn):(1)通信制式無關(guān)性:雙模之間無關(guān)聯(lián)關(guān)系,方便進(jìn)行通信制式的替換,可以適用于多個(gè)雙模通信制式的組合,例如GSM+WCDMA或者TD-SCDMA+CDMA2000等;(2)第三方軟件獨(dú)立性:軟件架構(gòu)對(duì)第三方應(yīng)用程序透明,第三方應(yīng)用程序無需進(jìn)行改動(dòng)或者只需少量改動(dòng)即可使用雙模制式;(3)減少エ作量:隨著通信制式的增多,本發(fā)明在構(gòu)建多種雙模RIL系統(tǒng)的情況下其工作量明顯小于現(xiàn)有技木。
【專利附圖】
【附圖說明】
[0017]圖1為原始Android RIL系統(tǒng)結(jié)構(gòu)框圖;
[0018]圖2為本發(fā)明Android雙模RIL系統(tǒng)結(jié)構(gòu)框圖;
【具體實(shí)施方式】
[0019]如圖2所示,本發(fā)明ー種Android雙模RIL系統(tǒng)的構(gòu)建方法,包括以下步驟:
[0020](1)構(gòu)建不同通信制式的單模RIL系統(tǒng):采用原生Android RIL系統(tǒng)的Phone模塊、RIL-Java模塊、RILD模塊和通信模塊,此處支持的通信制式包括2G的GSM、CDMA或3G的WCDMA,CDMA2000,TD-SCDMA?根據(jù)通信制式及硬件平臺(tái)的不同來配置Phone模塊、RIL-Java模塊、RILD模塊中的AT命令字處理子模塊,例如華為MC703模塊為CDMA制式,其CDMA信源信息查詢命令為AT-1XINF0,TD-SCDMA終端查詢請(qǐng)求的3G服務(wù)質(zhì)量命令為+CGEQREQ,這些由于通信制式及硬件平臺(tái)不同所造成的支持AT命令集不同,AT命令字處理子模塊針對(duì)這些命令字做處理。RILD模塊中的通信模塊驅(qū)動(dòng)器由硬件廠商提供;
[0021](2)構(gòu)建雙模的第一通信通道與第二通信通道,其中,第一通信通道為原生Android RIL系統(tǒng)中RIL-Java模塊和RILD模塊通信的socket通道riId ;第二通信通道采用與原生Android系統(tǒng)的其他socket通道的名稱不沖突的socket通道second_rild。
[0022](3)構(gòu)建Phone管理器300用于調(diào)度每個(gè)單模RIL系統(tǒng)中的Phone模塊,Phone管理器包括Phone模塊啟動(dòng)器301和通知接收器的注冊(cè)器302 ;[0023](4)任意選取2個(gè)步驟(1)中構(gòu)建的單模RIL系統(tǒng)分別作為第一 RIL系統(tǒng)和第二RIL系統(tǒng),第一 RIL系統(tǒng)中的RIL-Java模塊和RILD模塊采用第一通信通道socket rild進(jìn)行通信;第二 RIL系統(tǒng)中的RIL-Java模塊和RILD模塊采用第二通信通道socket second,rild進(jìn)行通信;
[0024](5) Phone管理器啟動(dòng)步驟(4)選取的2個(gè)單模RIL系統(tǒng)中的Phone模塊,并注冊(cè)上述2個(gè)單模RIL系統(tǒng)的通知接收器。
[0025]利用上述方法構(gòu)建的Android雙模RIL系統(tǒng),包括第一 RIL系統(tǒng)和第二 RIL系統(tǒng),其中第一 RIL系統(tǒng)包括第一 Phone模塊120、第一 RIL-Java模塊130、第一 RILD模塊140和第一通信模塊150,第一 RIL-Java模塊130與第一 RILD模塊140采用原生Android RIL系統(tǒng)的socket通道rild ;
[0026]第二 RIL系統(tǒng)包括第二 Phone模塊220、第二 RIL-Java模塊230、第二 RILD模塊240和第二通信模塊250,第二 RIL-Java模塊230與第二 RILD模塊240采用與原生Android系統(tǒng)的其他socket通道的名稱不沖突的socket通道second_rild。
[0027]實(shí)施例
[0028]GSM+CDMA的雙模RIL系統(tǒng)的構(gòu)建方法,具體的實(shí)施方式如下:
[0029](1)構(gòu)建不同通信制式的單模RIL系統(tǒng):采用原生Android RIL系統(tǒng)的Phone模塊、RIL-Java模塊、RILD模塊和通信模塊,此處支持的通信制式包括單模為2G的GSM、CDMA或3G的WCDMA、CDMA2000、TD-SCDMA。根據(jù)通信制式及硬件平臺(tái)的不同來配置Phone模塊、RIL-Java模塊、RILD模塊中的AT命令字處理子模塊,RILD模塊中的通信模塊驅(qū)動(dòng)器由硬件廠商提供;
[0030](2)構(gòu)建雙模的第一通信通道與第二通信通道。第一通信通道為原生AndroidRIL系統(tǒng)中RIL-Java模塊和RILD模塊通信的socket通道rild ;第二通信通道采用與原生Android系統(tǒng)的其他socket通道的名稱不沖突的socket通道second_rild。
[0031](3)構(gòu)建Phone管理器用于調(diào)度姆個(gè)單模RIL系統(tǒng)中的Phone模塊,Phone管理器包括Phone模塊啟動(dòng)器和通知接收器的注冊(cè)器;
[0032](4)任意選取2個(gè)步驟(1)中構(gòu)建的GSM單模RIL系統(tǒng)和CDMA單模RIL系統(tǒng):將GSM單模RIL系統(tǒng)作為第一 RIL系統(tǒng)、CDMA單模RIL系統(tǒng)作為第二 RIL系統(tǒng),第一 RIL系統(tǒng)中的RIL-Java模塊和RILD模塊采用第一通信通道socket rild進(jìn)行通信;第二 RIL系統(tǒng)中的RIL-Java模塊和RILD模塊米用第二通信通道socket second_rild進(jìn)行通信;
[0033](5) Phone管理器啟動(dòng)步驟(4)選取的2個(gè)單模RIL中的Phone模塊,并注冊(cè)上述2個(gè)單模RIL系統(tǒng)的通知接收器。
[0034]通過如下代碼啟動(dòng)上述2個(gè)單模RIL系統(tǒng)中的Phone模塊,并注冊(cè)上述2個(gè)單模RIL系統(tǒng)的通知接收器:
[0035]
sCdmaPhoneNotifier = new DefaultPhoneNotifier(Phone.PHONE—TYPE—CDMA);
sCdmaCommandsInterface = new RIL(context,
R]LConstants.NETWORK—MODE—CDMA,
[0036]RILConstants.PREFERRED—CDMA—SUBSCRIPTION);
sCdmaPhone = new PhoneProxy(new CDMAPhone(context,
sCdmaCommandsInterface, sCdmaPhoneNotifier));
sGsmPhoneNotifier = new DefaultPhoneNotifier (Phone.PHONE—TYPE—GSM);
sGsmCommandsInterface = new SecondaryRIL(context,
RILConstants.NETWORK—MODE—WCDMA—PREF,
RILConstants.PREFERRED—CDMA—SUBSCRIPTION);
sGsmPhone = new PhoneProxy (new GSMPhone (context, sGsmCommands Interface,
sGsmPhoneNotifier));
[0037]啟動(dòng)上述兩個(gè)Phone模塊并注冊(cè)相應(yīng)的通知接收器后,如果Phone模塊有消息到來,例如有電話打進(jìn)來,那么會(huì)通知相應(yīng)的Phone模塊相應(yīng)消息:
[0038]
Intent intent ニ new
Intent(TelephonyManager.ACTION—PHONE—STATE—CHANGED);
intent.addFlags(Intent.FLAG—RECEIVER—REPLACE—PENDING);
intent.putExtra(Phone.STATE—KEY,
Defau1tPhoneNot1`11er.convertCallState(state).toStringO);
if (ITextUtils.1sEmpty(incomingNumber)) {
intent.putExtra(TelephonyManager.EXTRA—INCOMING—NUMBER,
incomingNumber);
}
mContext.sendBroadcast(intent,
android.Manifest, permission.READ—PHONE—STATE);
[0039]綜上所述,本發(fā)明AndiOid雙模RIL系統(tǒng)的構(gòu)建方法在構(gòu)建多種雙模RIL系統(tǒng)的情況下其工作量明顯小于現(xiàn)有技木。
【權(quán)利要求】
1.ー種Android雙模RIL系統(tǒng)的構(gòu)建方法,其特征在于,包括以下步驟: (1)構(gòu)建不同通信制式的單模的RIL系統(tǒng):采用原生AndroidRIL系統(tǒng)的Phone模塊、RIL-Java模塊、RILD模塊和通信模塊,根據(jù)通信制式及硬件平臺(tái)的不同來配置Phone模塊、RIL-Java模塊、RILD模塊中的AT命令字處理子模塊和RILD模塊中的通信模塊驅(qū)動(dòng)器; (2)構(gòu)建雙模的第一通信通道與第二通信通道; (3)構(gòu)建Phone管理器用于調(diào)度姆個(gè)單模RIL系統(tǒng)中的Phone模塊;所述Phone管理器包括Phone模塊啟動(dòng)器和通知接收器的注冊(cè)器; (4)任意選取2個(gè)步驟(1)中構(gòu)建的單模RIL系統(tǒng)分別作為第一RIL系統(tǒng)和第二 RIL系統(tǒng);所述第一 RIL系統(tǒng)中的RIL-Java模塊和RILD模塊采用步驟(2)中所述的第一通信通道進(jìn)行通信?,第二 RIL系統(tǒng)中的RIL-Java模塊和RILD模塊采用步驟(2)中所述的第二通信通道進(jìn)行通信; (5)Phone管理器啟動(dòng)步驟(4)選取的2個(gè)單模RIL系統(tǒng)中的Phone模塊,并注冊(cè)上述2個(gè)單模RIL系統(tǒng)的通知接收器。
2.根據(jù)權(quán)利要求1所述的Android雙模RIL系統(tǒng)的構(gòu)建方法,其特征在干,所述步驟(1)的通信制式為 2G 的 GSM、CDMA 或 3G 的 WCDMA、CDMA2000、TD-SCDMA。
3.根據(jù)權(quán)利 要求1所述的Android雙模RIL系統(tǒng)的構(gòu)建方法,其特征在于,所述第一通信通道為原生Android RIL系統(tǒng)中RIL-Java模塊和RILD模塊通信的socket通道;所述第二通信通道米用與原生Android系統(tǒng)的其他socket通道的名稱不沖突的socket通道。
4.利用權(quán)利要求1-3中任意一項(xiàng)所述方法構(gòu)建的Android雙模RIL系統(tǒng),其特征在于:包括第一 RIL系統(tǒng)和第二 RIL系統(tǒng),所述第一 RIL系統(tǒng)包括第一 Phone模塊、第一 RIL-Java模塊、第一 RILD模塊和第一通信模塊;所述第一 RIL-Java模塊與第一 RILD模塊采用原生Android RIL系統(tǒng)的socket通道;所述第二 RIL系統(tǒng)包括第二 Phone模塊、第二 RIL-Java模塊、第二 RILD模塊和第二通信模塊,所述第二 RIL-Java模塊與第二 RILD模塊采用與原生Android系統(tǒng)的其他socket通道的名稱不沖突的socket通道。
【文檔編號(hào)】H04M1/725GK103458118SQ201310375558
【公開日】2013年12月18日 申請(qǐng)日期:2013年8月26日 優(yōu)先權(quán)日:2013年8月26日
【發(fā)明者】張濤, 袁志堅(jiān), 陳融, 趙敏, 王金雙 申請(qǐng)人:中國人民解放軍理工大學(xué)