The invention discloses a method for expanding Android system resource loading, the invention when not using the proposed scheme, different SIM card loading different resources, resource framework can not use the Android system, need to type in the code to determine SIM manual card, and then in the display to load resources in code respectively. This method, the code coupling is too high, and the number of judgments, low efficiency. Just need to use the same as ordinary resources, according to the mapping table, in the resource folder to create the corresponding folder, the system will automatically map according to the current SIM card, loading the corresponding folder resources. All this is transparent to other applications, reducing the workload of other applications, reducing the coupling of the code, improve efficiency.
【技術實現步驟摘要】
本專利技術涉及一種資源加載的方法,尤其涉及一種擴展安卓系統資源加載的方法,屬于擴展安卓系統資源加載控制領域。
技術介紹
由于安卓系統的開源,許多廠商都會定制自己的安卓系統,運營商會根據SIM卡的類型不同,要求手機的鈴聲,開機動畫,墻紙,一些應用的布局以及顯示內容等也不一樣。對于這樣的需求不可能為每種類型的SIM卡都出一套軟件,所以,一般都是在一個軟件版本上來滿足不同的需求。安卓系統原生的資源加載機制已經支持根據SIM卡的MCC(移動國家碼)和MNC(移動網絡碼)來加載資源,只要在系統的資源文件夾下創建文件夾-mcc國家碼-mnc網絡碼,在插入相應的SIM卡就會優先加載該文件夾下的資源。但是有些情況下原生的這種資源加載機制卻無法滿足需求,比如,同一個地區的電信運營商在同一個地區有主品牌和子品牌之分,主品牌和子品牌也有不同的定制需求,然而主品牌和子品牌MCC和MNC的值是相同的,需要根據SPN(運營商名稱)的值來區分,這種情況下無法使用安卓系統的資源加載機制;同一個地區同一個電信運營商主品牌,子品牌的MCC,MNC和SPN的值都是一樣的,這種情況下需要依據SIM卡的GID(分組ID)來區分定制,這種情況下也無法使用安卓系統的資源加載機制。以上情況下的根據SIM卡進行系統定制,只能在代碼中根據MCC,MNC,SPN和GID的值進行判斷,然后在代碼中加載相應的資源文件,但是,在SIM卡種類很多的情況下,這種判斷的方法就會非常麻煩,需要做很多次的判斷,效率低且很容易出錯。因此,需要對安卓系統原生的資源加載機制進行擴展。 >
技術實現思路
本專利技術所要解決的技術問題是針對
技術介紹
的不足提供了一種擴展安卓系統資源加載的方法。本專利技術為解決上述技術問題采用以下技術方案:一種擴展安卓系統資源加載的方法,具體包含如下步驟:步驟1,監聽手機SIM卡的狀態變化;步驟2,當SIM卡狀態發生變化時,獲取SIM卡的運營商信息,根據運營商信息加載不同的映射關系表,根據映射關系表得到映射結果,將映射結果存入系統屬性中進而結束映射;步驟3,在安卓系統加載資源之前,獲取設備配置信息中的MCC、MNC以及當前運行的程序的包名,進而將獲取的MCC、MNC保存到臨時變量中;步驟4,根據步驟3獲取程序的包名來判斷當前的程序是否需要映射;步驟4.1:若需要進行映射處理,從系統屬性中取出映射過后的MCC、MNC,進而將映射過后的MCC、MNC分別替換掉系統配置信息中原始的MCC和MNC;步驟4.2:若不需要進行映射處理,將映射的值替換掉設備配置信息的原始MNC的值;步驟5:安卓系統加載資源完成后,將原始的MCC和MNC的值替換回來。作為本專利技術一種擴展安卓系統資源加載的方法的進一步優選方案,在步驟2中,采用SPN映射的映射方式。作為本專利技術一種擴展安卓系統資源加載的方法的進一步優選方案,在步驟2中,采用GID映射的映射方式。作為本專利技術一種擴展安卓系統資源加載的方法的進一步優選方案,在步驟4中,需要映射的包名列表已定義在代碼中。作為本專利技術一種擴展安卓系統資源加載的方法的進一步優選方案,在步驟4中,需要映射的包名列表已定義在MXL中。本專利技術采用以上技術方案與現有技術相比,具有以下技術效果:1、本專利技術當不使用本文提出的方案時,不同的SIM卡加載不同的資源,無法使用安卓系統的資源框架,需要在代碼中手動的判斷SIM卡的類型,然后在分別在代碼中來加載資源顯示。這種方法,代碼耦合性太高,且判斷次數多,效率低;2、只需要像普通的資源使用一樣,根據映射表,在資源文件夾下創建對應的文件夾,系統會自動根據當前的SIM卡來進行映射,加載對應文件夾下的資源,這一切對其他應用來說都是透明的,減少了其他應用的工作量,降低了代碼的耦合度,提高了效率。附圖說明圖1是本專利技術的MNC映射流程圖。具體實施方式下面結合附圖對本專利技術的技術方案做進一步的詳細說明:一種擴展安卓系統資源加載的方法,其特征在于:具體包含如下步驟:如圖1所示,步驟1,監聽手機SIM卡的狀態變化;步驟2,當SIM卡狀態發生變化時,獲取SIM卡的運營商信息,根據運營商信息加載不同的映射關系表,根據映射關系表得到映射結果,將映射結果存入系統屬性中進而結束映射;步驟3,在安卓系統加載資源之前,獲取設備配置信息中的MCC、MNC以及當前運行的程序的包名,進而將獲取的MCC、MNC保存到臨時變量中;步驟4,根據步驟3獲取程序的包名來判斷當前的程序是否需要映射;步驟4.1:若需要進行映射處理,從系統屬性中取出映射過后的MCC、MNC,進而將映射過后的MCC、MNC分別替換掉系統配置信息中原始的MCC和MNC;步驟4.2:若不需要進行映射處理,將映射的值替換掉設備配置信息的原始MNC的值;步驟5:安卓系統加載資源完成后,將原始的MCC和MNC的值替換回來。其中,在步驟2中,采用SPN映射或者GID映射的映射方式,在步驟4中,需要映射的包名列表已定義在代碼或MXL中。為解決上述問題,本申請中提供了一種擴展安卓系統資源加載機制的方法,使以上情況下的資源加載和原生的資源加載一樣,不再需要在代碼中做繁瑣的判斷和加載資源。安卓系統的資源加載機制已支持MCC,MNC的加載方案,對原生的資源加載擴展采用MNC映射的方式,比如,手機插入德國電信運營商的卡,系統默認優先加載資源文件夾中values-mcc204-mnc16的資源,但是,該運營商有多個子品牌,所有子品牌的MCCMNC的值都是20416,這種情況下采用資源映射方式,因為市場上MNC的名稱是已經確認的,考慮將沒有使用的MNC的值,來映射為某一個對應的SPN,比如,將MNC(999)對應該運營商的子品牌1(BenNL),將MNC(998)對應該運營商的子品牌2(T-MobileNL)這樣,如果手機插入了這個子品牌1(BenNL)的SIM卡,系統就會優先去加載values-mcc204-mnc999文件夾下的資源,如果手機插入了這個子品牌2(T-MobileNL)的SIM卡,系統就會優先去加載values-mcc204-mnc998文件夾下的資源。其中對應關系,我們預先定義在XML中或者代碼中,需要依據SIM卡定制資源的應用只需要在資源文件夾下按照對應關系創建相應的MCC-MNC文件夾即可。對于資源加載機制的擴展分為兩個部分:MNC映射和資源加載。MNC映射部分技術實現:應用程序注冊對SIM卡狀態變化的監聽;當SIM卡狀態發生變化,接受到狀態變化的通知,獲取新的SIM卡的MCC,MNC,SPN和GID等屬性;根據MCC,MNC的值可以唯一確定一個運營商,然后根據運營商來判斷是否需要映射,及映射的方式(SPN映射或者GID映射),如果需要映射,則根據運營商來加載不同的映射關系表;根據SIM卡的MCC,MNC,SPN和GID,在映射關系表中得到映射過后的值。將映射過后的值存本文檔來自技高網...
【技術保護點】
一種擴展安卓系統資源加載的方法,其特征在于:具體包含如下步驟:步驟1,監聽手機SIM卡的狀態變化;步驟2,當SIM卡狀態發生變化時,獲取SIM卡的運營商信息,根據運營商信息加載不同的映射關系表,根據映射關系表得到映射結果,將映射結果存入系統屬性中進而結束映射;步驟3,在安卓系統加載資源之前,獲取設備配置信息中的MCC、MNC以及當前運行的程序的包名,進而將獲取的MCC、MNC保存到臨時變量中;步驟4,根據步驟3獲取程序的包名來判斷當前的程序是否需要映射;步驟4.1:若需要進行映射處理,從系統屬性中取出映射過后的MCC、MNC,進而將映射過后的MCC、MNC分別替換掉系統配置信息中原始的MCC和MNC;步驟4.2:若不需要進行映射處理,將映射的值替換掉設備配置信息的原始MNC的值;步驟5:安卓系統加載資源完成后,將原始的MCC和MNC的值替換回來。
【技術特征摘要】
1.一種擴展安卓系統資源加載的方法,其特征在于:具體包含如下步驟:
步驟1,監聽手機SIM卡的狀態變化;
步驟2,當SIM卡狀態發生變化時,獲取SIM卡的運營商信息,根據運營商信息加載不同的映射關系表,根據映射關系表得到映射結果,將映射結果存入系統屬性中進而結束映射;
步驟3,在安卓系統加載資源之前,獲取設備配置信息中的MCC、MNC以及當前運行的程序的包名,進而將獲取的MCC、MNC保存到臨時變量中;
步驟4,根據步驟3獲取程序的包名來判斷當前的程序是否需要映射;
步驟4.1:若需要進行映射處理,從系統屬性中取出映射過后的MCC、MNC,進而將映射過后的MCC、MNC分別替換掉系統配置信息中原始的MCC和MNC;
步驟4.2:若不需要進行映射處理,將映射的值...
【專利技術屬性】
技術研發人員:范振華,常振杰,蔡蓉,趙鴻飛,
申請(專利權)人:南京中科創達軟件科技有限公司,
類型:發明
國別省市:江蘇;32
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。