虚拟运营商APN、SPN参数、Sim卡名称

https://blog.csdn.net/wangjicong_215/article/details/74634473

1.APN配置:
S7731C5.1:
vendor\sprd\operator\operator_res\apn\apns-conf_8.xml
S7731G/C6.0:
vendor\sprd\overlay\apn\apns-conf_8.xml

  <apn carrier="GLobe Prepaid"
       mcc="515"
       mnc="02"
       apn="http.globe.com.ph"
       server="http://www.globe.com.ph/globe.asp"
       type="default,supl"
   />
  <apn carrier="Cherry Prepaid"
       mcc="515"
       mnc="02"
       apn="internet.cherry.com.ph"
       server="http://www.cherrymobile.com.ph"
       mvno_type="spn"
       mvno_match_data="Cherry Prepaid"
       type="default"
   />
   <apn carrier="Cherry Prepaid"
       mcc="515"
       mnc="02"
       apn="internet.cherry.com.ph"
       server="http://www.cherrymobile.com.ph"
       mvno_type="spn"
       mvno_match_data="Cherry Mobile"
       type="default"
/>

虚拟运营商mvno_type要配成spn,mvno_match_data是spn配置的数据内容。
不带mvno_type的是实体运营商。

2.SPN配置:
S7731C5.1:
vendor\sprd\oem\config\GlobalConfig\virtual-net-rule\virtual-net-rule-conf.xml
<virtualnetnumeric="51502" carrier="Cherry Prepaid" mvno_type="spn" mvno_match_data="CherryPrepaid"/>
<virtualnetnumeric="51502" carrier="Cherry Prepaid" mvno_type="spn" mvno_match_data="CherryMobile"/>
<virtualnetnumeric="51502" carrier="Globe Prepaid" mvno_type="spn" mvno_match_data="TM"/>
<virtualnetnumeric="51502" carrier="Globe Prepaid" mvno_type="spn" mvno_match_data="ABS-CBN"/>
<virtualnetnumeric="51503" carrier="Smart Internet" mvno_type="spn" mvno_match_data="Talk N Text"/>
其中mvno_match_data数据为APN里的mvno_match_data,carrier="Cherry Prepaid"为APN里的carrier
最后配置如下文件:
vendor\sprd\oem\config\GlobalConfig\spn\virtual-spn-conf.xml
<spnOverride numeric="51502"mvno="51502Cherry Prepaid" spn="Cherry Prepaid"/>
<spnOverride numeric="51502"mvno="51502Cherry Prepaid" spn="Cherry Mobile"/>
<spnOverride numeric="51502"mvno="51502Globe Prepaid" spn="TM"/>
<spnOverride numeric="51502"mvno="51502Globe Prepaid" spn="ABS-CBN"/>
<spnOverride numeric="51503"mvno="51503Smart Internet" spn="Talk N Text"/>
其中mvno数据为mcc+mnc+APN里配置的apn carrier,spn="Cherry Prepaid"为Sim卡要显示的名称。
虚拟运营商Sim卡名称检索规则:
1.根据APN里的mvno_type="spn"判断是虚拟运营商
2.根据virtual-net-rule-conf.xml查找匹配的SPN顺序ID
3.根据顺序ID在virtual-spn-conf.xml里查找对应的名称
因此这三张表里涉及到SPN的数据要一项一项对应,顺序不能错乱!

S7731G/C6.0:
packages\apps\CarrierConfig\assets\carrier_config_51502.xml
packages\apps\CarrierConfig\assets\carrier_config_51503.xml
……
   <carrier_config spn="CherryPrepaid">
        <boolean name="mvno"value="true"/>
        <stringname="spn">Cherry Prepaid</string>
    </carrier_config>
    <carrier_configspn="Cherry Mobile">
       <boolean name="mvno" value="true"/>
       <stringname="spn">Cherry Prepaid</string>
   </carrier_config>
   <carrier_configspn="TM">
        <boolean name="mvno"value="true"/>
        <stringname="spn">TM</string>
    </carrier_config>
    <carrier_configspn="ABS-CBN">
        <boolean name="mvno"value="true"/>
        <stringname="spn">ABS-CBN</string>
    </carrier_config>
……
<carrier_configspn="Cherry Mobile">为APN配置里的mvno_match_data数据,
<stringname="spn">Cherry Prepaid</string>为要显示的SIM卡名称。

3.运营商名称不显示2G/3G/4G:
S7731G/C 6.0:
SystemUIPluginsHelper.java 和KeyguardPluginsHelper.java修改如下
protected String appendRatToNetworkName(Context context, ServiceState state, String operator){
       String operatorName = operator;
       SystemUiConfig config = SystemUiConfig.getInstance(context);
       if (context == null || state == null || !getBoolAppendRAT()) {
           return operatorName;
       }
       if(OptConfig.SUN_C7359_C5D_FWVGA_CHERRY){//Kalyy
           return operatorName;
       }
……
}
 

猜你喜欢

转载自blog.csdn.net/keyanting_2018/article/details/87088487
今日推荐