Android运营商名字显示规则
来源:互联网 发布:手机视频剪辑软件知乎 编辑:程序博客网 时间:2024/05/21 11:18
可以分为两大类:
(1)网络名称:PLMN(注册的mccmnc对应的网络名称)和SPN(卡中的一个文件:EF_SPN,fid是6F46。读取SPN首先要看看SST中是否有这个栏位)
(2)SIM卡名称
一、首先介绍PLMN
(1)概念:当前手机注册的mccmnc对应的运营商名称
(2)显示规则图如下:
按照优先显示规则优先级别不同,如下做一一介绍:
(a)Eons
1、 Enhanced Operator Name String,也就是Eons,此种方式的名称是存放在EF_PNN(PLMN Network Name, fid: 6FC5)和
EF_OPL(Operator PLMN List, fid: 6FC6)中。
2、EF_OPL中存放的是LAC和EF_PNN中的Record Identifier,
EF_PNN中存放的是Network Name,也就是具体的名称了。
如果注册上的网络是HPLMN,那么EF_OPL返回的Record Identifier就是1。
如果不是HPLMN的话,就根据LAC在EF_OPL中寻找对应的Record Identifier。然后根据OPL的Record Identifier,在PNN中找对应的
Network Name。
3、相应代码:sEons = (simRecords != null) ? simRecords.getEonsIfExist(mSS.getOperatorNumeric(),mCellLoc.getLac(), true) : null;
(b)CPHS ONS
1、Common PCN Handset Specification Operator Name String:需要当前注册的是HPLMN网络
2、 如果SIM中的CPHS ONS的长格式文件(fid:6F14, long name)读取成功,用此当作网络名称。
如果SIM中的CPHS ONS的短格式文件(fid:6F18, short name)读取成功,用此当作网络名称。
3、相应代码:plmn = (simRecords != null) ? simRecords.getSIMCPHSOns() : "";
(c) NITZ Operator Name
1、此名称是由所注册的网络下发给手机的,参考TS22.042。如果网络有下发这个数据给手机,modem会通过”+CIEV: 10”把数据传给AP端,AP端会用 这个数据来当成网络名称,另外AP端还会把这个数据和对应的网络PLMN一同记下来,当之后注册上的网络仍是这个PLMN,这显示的网络名称会 是这个网络名称。
2、/* +CIEV: 10,"PLMN","long_name","short_name" */ :CIEV: 10,"60501","Orange Tn","Orange Tn", 0, 0
3、具体代码流程如下:
(d)ROM
这一个是存储在手机flash中的,目前的存储方式是xml文件。如果是有打开支持MVNO的option,那么以下xml都依次读取,如果读取到就终
止往下读了。如果没有MVNO,那么仅仅读取spn-conf.xml。如果没有读取到那么显示plmn号了。
Virtual-spn-conf-by-efspn.xml
Virtual-spn-conf-by-imsi.xml
Virtual-spn-conf-by-efpnn.xml
Virtual-spn-conf-by-efgid1.xml
Spn-conf.xml
这个分的代码可以参考ril.Java中的 lookupOperatorName()方法和SpnOverride类
- Android运营商名字显示规则
- Android运营商名称的显示规则
- 运营商名称显示规则
- Android运营商名称显示之PLMN与SPN显示规则
- Android运营商名称显示之PLMN与SPN显示规则
- android 获取手机运营商名字
- 运营商卡名字多语言显示
- Android运营商名称显示之PLMN与SPN显示规则(原)
- android 网络运营商名称显示规则(锁屏界面,下拉列表)
- Android运营商名称显示(原)
- android 修改USB显示名字
- android 5.1 中添加显示运营商的控制
- Android运营商名称显示之PLMN的读取(原)
- Android运营商名称显示之SPN的读取(原)
- Android运营商名称显示之SPN的读取
- Android运营商名称显示之PLMN的读取
- Android运营商名称显示之PLMN的读取
- Android运营商名称显示之SPN的读取
- Linux与生物信息(第一章——Linux常用命令2)
- jquery swiper自定义pagination的方法
- 窗体触发事件之焦点以及状态转换
- 今天连着CE三发
- 分布式缓存
- Android运营商名字显示规则
- spring boot 整合mongodb
- keras配置TensorFlow_or_theano
- Centos安装svn服务器
- 【模板】线段树 区间加,区间求和 (模板题:P3372线段树1)
- Mybatis多对多关联映射实例
- Android开发bug总结
- 微信小程序开发知识点总结
- c# 全屏显示窗体