您的位置:首页 > 移动开发 > Android开发

Android 虚拟运营商apn与spn配置

2016-04-22 14:01 2021 查看
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"
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: