一種Android雙模RIL系統的構建方法及系統的制作方法
【專利摘要】本發明公開了一種Android雙模RIL系統的構建方法及系統,該方法根據不同的通信制式來構建多個單模RIL系統,從中選取兩個單模RIL系統來構建雙模RIL系統,并分別為這個兩個單模RIL系統中的RIL-Java模塊、RILD模塊構建通訊通道,再根據Phone管理器來調度每個單模RIL系統中的Phone模塊;利用本發明在構建多種雙模RIL系統的情況下其工作量明顯減小。
【專利說明】—種Android雙模RIL系統的構建方法及系統
【技術領域】
[0001]本發明屬于智能手持移動終端操作系統領域,具體地說是ー種Android雙模RIL系統的構建方法及系統。
【背景技術】
[0002]隨著通信技術的發展,用戶對雙模移動終端的需求越來越強烈,終端廠商開發雙模終端的動カ也越來越足。雙模終端一般可以分為雙模雙待終端和雙模單待終端,雙模終端中最關鍵的是雙模的RIL系統,一般說來,雙模終端的RIL系統都與特定的硬件平臺相關,且不同的雙模終端都需要大量修改第三方應用程序,給雙模終端開發造成了不便,増加了開發工作量。
[0003]另ー方面,Android手機操作系統平臺是ー個架構良好的層次化軟硬件平臺,可以分為四層:最上層為應用程序層,由操作系統廠商或者第三方開發人員提供多種功能的應用程序;第二層為應用框架層,提供應用程序運行的Java層框架及必要的基礎服務等;第三層為系統運行庫層,提供系統庫和Android運行時庫;最底層為Linux內核層,提供必要的操作系統內核驅動和硬件驅動。
[0004]如圖1所示,原生Android RIL系統包括Phone模塊20、RIL-Java模塊30、RILD模塊40和通信模塊50 ;
[0005]然而,現有的構建Android雙模RIL系統的方法都是根據硬件廠商指定的兩種通信制式來構建的,然而隨著4G等更新一代的通信制式的出現,采用這種構建方法多種雙模RIL系統其工作量顯然比較大,不具有普適性。
【發明內容】
[0006]本發明所解決的技術問題是提供ー種具有普適性的Android雙模RIL系統的構建方法以及利用該方法所構建的系統。
[0007]為解決上述技術問題,本發明ー種Android雙模RIL系統的構建方法,包括以下步驟:
[0008](1)構建不同通信制式的單模的RIL系統:采用原生Android RIL系統的Phone模塊、RIL-Java模塊、RILD模塊和通信模塊,根據通信制式及硬件平臺的不同來配置Phone模塊、RIL-Java模塊、RILD模塊中的AT命令字處理子模塊和RILD模塊中的通信模塊驅動器;
[0009](2)構建雙模的第一通信通道與第二通信通道;
[0010](3)構建Phone管理器用于調度姆個單模RIL系統中的Phone模塊;所述Phone管理器包括Phone模塊啟動器和通知接收器的注冊器;
[0011](4)任意選取2個步驟(1)中構建的單模RIL系統分別作為第一 RIL系統和第二RIL系統;所述第一 RIL系統中的RIL-Java模塊和RILD模塊采用步驟(2)中所述的第一通信通道進行通信;第二 RIL系統中的RIL-Java模塊和RILD模塊采用步驟(2)中所述的第二通信通道進行通信;[0012](5) Phone管理器啟動步驟(4)選取的2個單模RIL系統中的Phone模塊,并注冊上述2個單模RIL系統的通知接收器。
[0013]進ー步地優選方案,本發明Android雙模RIL系統的構建方法中,所述步驟(1)的通信制式為 2G 的 GSM、CDMA 或 3G 的 WCDMA、CDMA2000、TD-SCDMA。
[0014]進ー步地優選方案,本發明Android雙模RIL系統的構建方法中,所述第一通信通道為原生Android RIL系統中RIL-Java模塊和RILD模塊通信的socket通道;所述第二通信通道米用與原生Android系統的其他socket通道的名稱不沖突的socket通道。
[0015]同時本發明還提出了ー種利用該方法構建的Android雙模RIL系統,其特征在于:包括第一 RIL系統和第二 RIL系統,所述第一 RIL系統包括第一 Phone模塊、第一 RIL-Java模塊、第一 RILD模塊和第一通信模塊;所述第一 RIL-Java模塊與第一 RILD模塊采用原生Android RIL系統的socket通道;所述第二 RIL系統包括第二 Phone模塊、第二 RIL-Java模塊、第二 RILD模塊和第二通信模塊,所述第二 RIL-Java模塊與第二 RILD模塊采用與原生Android系統的其他socket通道的名稱不沖突的socket通道。
[0016]本發明與現有技術相比,具有以下顯著的優點:(1)通信制式無關性:雙模之間無關聯關系,方便進行通信制式的替換,可以適用于多個雙模通信制式的組合,例如GSM+WCDMA或者TD-SCDMA+CDMA2000等;(2)第三方軟件獨立性:軟件架構對第三方應用程序透明,第三方應用程序無需進行改動或者只需少量改動即可使用雙模制式;(3)減少エ作量:隨著通信制式的增多,本發明在構建多種雙模RIL系統的情況下其工作量明顯小于現有技木。
【專利附圖】
【附圖說明】
[0017]圖1為原始Android RIL系統結構框圖;
[0018]圖2為本發明Android雙模RIL系統結構框圖;
【具體實施方式】
[0019]如圖2所示,本發明ー種Android雙模RIL系統的構建方法,包括以下步驟:
[0020](1)構建不同通信制式的單模RIL系統:采用原生Android RIL系統的Phone模塊、RIL-Java模塊、RILD模塊和通信模塊,此處支持的通信制式包括2G的GSM、CDMA或3G的WCDMA,CDMA2000,TD-SCDMA?根據通信制式及硬件平臺的不同來配置Phone模塊、RIL-Java模塊、RILD模塊中的AT命令字處理子模塊,例如華為MC703模塊為CDMA制式,其CDMA信源信息查詢命令為AT-1XINF0,TD-SCDMA終端查詢請求的3G服務質量命令為+CGEQREQ,這些由于通信制式及硬件平臺不同所造成的支持AT命令集不同,AT命令字處理子模塊針對這些命令字做處理。RILD模塊中的通信模塊驅動器由硬件廠商提供;
[0021](2)構建雙模的第一通信通道與第二通信通道,其中,第一通信通道為原生Android RIL系統中RIL-Java模塊和RILD模塊通信的socket通道riId ;第二通信通道采用與原生Android系統的其他socket通道的名稱不沖突的socket通道second_rild。
[0022](3)構建Phone管理器300用于調度每個單模RIL系統中的Phone模塊,Phone管理器包括Phone模塊啟動器301和通知接收器的注冊器302 ;[0023](4)任意選取2個步驟(1)中構建的單模RIL系統分別作為第一 RIL系統和第二RIL系統,第一 RIL系統中的RIL-Java模塊和RILD模塊采用第一通信通道socket rild進行通信;第二 RIL系統中的RIL-Java模塊和RILD模塊采用第二通信通道socket second,rild進行通信;
[0024](5) Phone管理器啟動步驟(4)選取的2個單模RIL系統中的Phone模塊,并注冊上述2個單模RIL系統的通知接收器。
[0025]利用上述方法構建的Android雙模RIL系統,包括第一 RIL系統和第二 RIL系統,其中第一 RIL系統包括第一 Phone模塊120、第一 RIL-Java模塊130、第一 RILD模塊140和第一通信模塊150,第一 RIL-Java模塊130與第一 RILD模塊140采用原生Android RIL系統的socket通道rild ;
[0026]第二 RIL系統包括第二 Phone模塊220、第二 RIL-Java模塊230、第二 RILD模塊240和第二通信模塊250,第二 RIL-Java模塊230與第二 RILD模塊240采用與原生Android系統的其他socket通道的名稱不沖突的socket通道second_rild。
[0027]實施例
[0028]GSM+CDMA的雙模RIL系統的構建方法,具體的實施方式如下:
[0029](1)構建不同通信制式的單模RIL系統:采用原生Android RIL系統的Phone模塊、RIL-Java模塊、RILD模塊和通信模塊,此處支持的通信制式包括單模為2G的GSM、CDMA或3G的WCDMA、CDMA2000、TD-SCDMA。根據通信制式及硬件平臺的不同來配置Phone模塊、RIL-Java模塊、RILD模塊中的AT命令字處理子模塊,RILD模塊中的通信模塊驅動器由硬件廠商提供;
[0030](2)構建雙模的第一通信通道與第二通信通道。第一通信通道為原生AndroidRIL系統中RIL-Java模塊和RILD模塊通信的socket通道rild ;第二通信通道采用與原生Android系統的其他socket通道的名稱不沖突的socket通道second_rild。
[0031](3)構建Phone管理器用于調度姆個單模RIL系統中的Phone模塊,Phone管理器包括Phone模塊啟動器和通知接收器的注冊器;
[0032](4)任意選取2個步驟(1)中構建的GSM單模RIL系統和CDMA單模RIL系統:將GSM單模RIL系統作為第一 RIL系統、CDMA單模RIL系統作為第二 RIL系統,第一 RIL系統中的RIL-Java模塊和RILD模塊采用第一通信通道socket rild進行通信;第二 RIL系統中的RIL-Java模塊和RILD模塊米用第二通信通道socket second_rild進行通信;
[0033](5) Phone管理器啟動步驟(4)選取的2個單模RIL中的Phone模塊,并注冊上述2個單模RIL系統的通知接收器。
[0034]通過如下代碼啟動上述2個單模RIL系統中的Phone模塊,并注冊上述2個單模RIL系統的通知接收器:
[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]啟動上述兩個Phone模塊并注冊相應的通知接收器后,如果Phone模塊有消息到來,例如有電話打進來,那么會通知相應的Phone模塊相應消息:
[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]綜上所述,本發明AndiOid雙模RIL系統的構建方法在構建多種雙模RIL系統的情況下其工作量明顯小于現有技木。
【權利要求】
1.ー種Android雙模RIL系統的構建方法,其特征在于,包括以下步驟: (1)構建不同通信制式的單模的RIL系統:采用原生AndroidRIL系統的Phone模塊、RIL-Java模塊、RILD模塊和通信模塊,根據通信制式及硬件平臺的不同來配置Phone模塊、RIL-Java模塊、RILD模塊中的AT命令字處理子模塊和RILD模塊中的通信模塊驅動器; (2)構建雙模的第一通信通道與第二通信通道; (3)構建Phone管理器用于調度姆個單模RIL系統中的Phone模塊;所述Phone管理器包括Phone模塊啟動器和通知接收器的注冊器; (4)任意選取2個步驟(1)中構建的單模RIL系統分別作為第一RIL系統和第二 RIL系統;所述第一 RIL系統中的RIL-Java模塊和RILD模塊采用步驟(2)中所述的第一通信通道進行通信?,第二 RIL系統中的RIL-Java模塊和RILD模塊采用步驟(2)中所述的第二通信通道進行通信; (5)Phone管理器啟動步驟(4)選取的2個單模RIL系統中的Phone模塊,并注冊上述2個單模RIL系統的通知接收器。
2.根據權利要求1所述的Android雙模RIL系統的構建方法,其特征在干,所述步驟(1)的通信制式為 2G 的 GSM、CDMA 或 3G 的 WCDMA、CDMA2000、TD-SCDMA。
3.根據權利 要求1所述的Android雙模RIL系統的構建方法,其特征在于,所述第一通信通道為原生Android RIL系統中RIL-Java模塊和RILD模塊通信的socket通道;所述第二通信通道米用與原生Android系統的其他socket通道的名稱不沖突的socket通道。
4.利用權利要求1-3中任意一項所述方法構建的Android雙模RIL系統,其特征在于:包括第一 RIL系統和第二 RIL系統,所述第一 RIL系統包括第一 Phone模塊、第一 RIL-Java模塊、第一 RILD模塊和第一通信模塊;所述第一 RIL-Java模塊與第一 RILD模塊采用原生Android RIL系統的socket通道;所述第二 RIL系統包括第二 Phone模塊、第二 RIL-Java模塊、第二 RILD模塊和第二通信模塊,所述第二 RIL-Java模塊與第二 RILD模塊采用與原生Android系統的其他socket通道的名稱不沖突的socket通道。
【文檔編號】H04M1/725GK103458118SQ201310375558
【公開日】2013年12月18日 申請日期:2013年8月26日 優先權日:2013年8月26日
【發明者】張濤, 袁志堅, 陳融, 趙敏, 王金雙 申請人:中國人民解放軍理工大學