一种扩展安卓系统资源加载的方法技术方案

技术编号:14555528 阅读:71 留言:0更新日期:2017-02-05 04:46
本发明专利技术公开了一种扩展安卓系统资源加载的方法,本发明专利技术当不使用本文提出的方案时,不同的SIM卡加载不同的资源,无法使用安卓系统的资源框架,需要在代码中手动的判断SIM卡的类型,然后在分别在代码中来加载资源显示。这种方法,代码耦合性太高,且判断次数多,效率低。只需要像普通的资源使用一样,根据映射表,在资源文件夹下创建对应的文件夹,系统会自动根据当前的SIM卡来进行映射,加载对应文件夹下的资源。这一切对其他应用来说都是透明的,减少了其他应用的工作量,降低了代码的耦合度,提高了效率。

Method for extending resource loading of Android system

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

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1