Android 虚拟运营商apn与spn配置

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/weicaihui2008/article/details/51219694

1.通过EF_SPN区分:读取SIM中的文件EF_SPN,结合SIM的mccmnc+spn,在virtual-spn-conf-by-efspn.xml 中查找有没有对应的记录,如果有这张sim卡对应信息,就同时取name字段的内容当作运营商名称。
例如 COOP的SIM卡中的SPN是“COOP”,COOP的MCC/MNC是22201,期望显示运营商名是”Coop”,

在Virtual-spn-conf-by-efspn.xml中添加如下:

<virtualSpnOverride mccmncspn="22201COOP" name="Coop"/>

在 apn中添加如下internet配置中增加如下:

  mvno_type="spn"           
  mvno_match_data="COOP"      

2. 通过EF_IMSI区分:
通过imsi进行区分。
例如 Virgin的MCC/MNC是20801,Virgin的IMSI是20801xxx67xxxxx,IMSI的第9位起连续2个数字为特殊标识(28),期望显示的运营商名称是“Virgin”

在Virtual-spn-conf-by-imsi.xml中添加:

<virtualSpnOverride imsipattern="2080120801xxx67xxxxx" name=“Virgin”>

在 apn中添加如下internet配置中增加如下:

  mvno_type="imsi"           
  mvno_match_data="20801xxx67xxxxx"

3. 通过EF_PNN区分:

EF_PNN是SIM中的一个option的文件,里面存放一组网络运营商名称(PLMN Network Name)。这种方式即是读取EF_PNN中的第一个pnn来匹配。

例如 EE的MCC/MNC是23430,EE中EF_PNN的第一个pnn是“EE”,期望显示的运营商名称是“EE”

在Virtual-spn-conf-by-efpnn.xml中添加:

<virtualSpnOverride mccmncpnn="23430EE“ name="EE">

在 apn中添加如下internet配置中增加如下:

  mvno_type="pmn"           
  mvno_match_data="EE"

4. 通过EF_GID1区分
EF_GID1是SIM中的一个option的文件,里面存放了n个byte的数据。
例如 Virgin的MCC/MNC是23430,Virgin的EF_GID1的内容是”2343040”,期望显示的运营商名称是”Virgin”

在Virtual-spn-conf-by-efgid1.xml中添加:

<virtualSpnOverride mccmncgid1="2343040" name="Virgin">

在 apn中添加如下internet配置中增加如下:

  mvno_type="gid1"           
  mvno_match_data="40"

猜你喜欢

转载自blog.csdn.net/weicaihui2008/article/details/51219694
今日推荐