一:Background & 相关flow
MTK Operator name display在手机中分成两种类型:

1. Sim卡名称:
根据开机从SIM卡中读取的IMSI去到Spn-conf.xml中(如果是MVNO的卡则是Virtual-spn-conf-by-***.xml中)匹配得到的name,会保存在SIMInfo这个database中,后续sim卡的名称就从此database中取得
关于MVNO可以参考如下FAQ:
ID: FAQ09811
[NW]如何区分MNO和MVNO

使用场景:
Setting下SimMangement中SIMInfo等

2. 注册上的网络的名称:
这部分显示所用string的主要来源有如下这些,且他们之间最终显示哪个source的string是根据网络和这些source的内容所最终确定的rule决定的(如当前是否roaming,当前注册的plmn是否在EF_SPDI中,EF_SPN中有相关flag标识要不要显示spn…)

关于rule:
请参考Gsm sec 51.011 EF_SPN的部分还有cphs spec;
code的部分,请参考SIMRecords. getDisplayRule和GsmServiceStateTracker. updateSpnDisplay:
 
(1) Sim卡中文件,如EF_SPN, EF_OPN, EF_SOPN, EF_OPL, EF_PNN, EF_SPDI…
(2) 注册到的网络的plmn,对应Spn-conf.xml
(3) NITZ,即网络下发的名字
 
Spec 51.011中EF_SPN定义的rule 总结就是:
1. 名称分为 SPN 和 Registered plmn(包括EONS, CPHS (即ONS), S-CPHS, NITZ, PLMN;优先级依次降低)
2. 如果没有SPN文件,那么就显示Registered plmn
3. 若有SPN,注册的plmn是HPLMN或者注册的plmn在SIM卡文件EF_SPDI中,那么
    (1) 如果有SPN就要显示SPN
    (2) 如果SPN的bit1 = 1, 则需要同时显示Registered plmn,如果SPN的bit1=0,则不需要同时显示Registered plmn
4. 若有SPN,注册的plmn是Roaming plmn且注册的plmn也不在SIM卡文件EF_SPDI中,那么
    (1) 显示Registered plmn
    (2) 如果SPN的bit2=0,则需要同时显示SPN,如果SPN的bit2=1,则不需要同时显示SPN
其中客户可以客制化的部分是Spn-conf.xml/Virtual-spn-conf-by-***.xml;换句话说,如果你修改了相关xml没有生效,应该是按照spec显示了更高优先级的名字(EONS, CPHS, NITZ…)
 
如果按照spec显示了更高优先级的名字,而不是xml配置的,那么想要显示xml的名字必然要修改code flow而导致破坏spec定义的rule(由于这是spec定义的通用rule,所以SIM卡在实做时也需要follow spec rule)------这样的客制化很可能会导致CTA/FTA等测试fail,且遵循spec的SIM卡显示也会出问题;建议跟客户说明这部分是有spec规定的,不要进行除xml的客制化
 
二:遇到问题时的处理方式
如果有些Operator不follow   GSM Spec,而定义自己的rule,请按照如下方式处理:
(1)如果operator有出正式spec,请提供详细的技术说明文档;
(2)把此卡在同一时间同一地点(确保网络状况相同)放到Samsung,HTC等对比机中复现问题,提供对比机表现
(3)将此卡放到MTK手机中复现问题并提供复现问题的开机mobile log

android 网络运营商名称显示规则(锁屏界面,下拉列表)相关推荐

  1. 网络运营商名称显示amp;SIM名称显示

    一 网络名称显示这部分比較复杂.Spec对这也有明白的规定,依据其优先级由高往低介绍(其优先级參考TS 22.101), 1.       Enhanced Operator Name String. ...

  2. 网络运营商名称显示SIM名称显示

    一 网络名称显示这部分比较复杂,Spec对这也有明确的规定,根据其优先级由高往低介绍(其优先级参考TS 22.101), 1.       Enhanced Operator Name String, ...

  3. Android 屏蔽锁屏界面上的通知显示

    一. 前言 [定制需求描述]:在插入SD后,  锁屏状态下, 去掉提示"SD卡可用于传输照片和媒体文件" 需求拆解:  要求正常显示在SystemUI下拉状态栏,  只需要屏蔽在锁 ...

  4. Android 7.1.1 锁屏界面启动流程

    前几天遇到一个低概率复现锁屏界面不显示,只显示状态栏的问题,跟了下锁屏界面启动显示的流程,在这分享下,也方便以后自己查看.前面简单介绍了下Zygote启动流程, Zygote进程启动后会首先创建一个S ...

  5. Android 10.0锁屏界面默认不显示Notification通知

    在系统开机以后,默认在锁屏界面如果有通知会显示的,但是这样客户觉得非常不方便,要求去掉显示的所有通知,为了满足客户需求 所以就要实现这个功能 在StatusBarNotificationPresent ...

  6. android 锁屏显示音乐播放器,Android锁屏界面控制音乐播放

    目前,在锁屏界面控制音乐播放有两种常用方式. 第一种方式:原生Android系统及自带音乐播放器. 锁屏界面端: 原生Android中,锁屏界面相关的UI由KeyguardHostView提供,Key ...

  7. Android之获取移动网络运营商名称

    原来的获取方法不好用了,适配安卓10.0设备,最新获取移动网络运营商名称方法. 获取权限: android.permission.READ_PHONE_STATE 工具类代码: /*** Create ...

  8. Android 10.0去除锁屏界面及SystemUI无sim卡拨打紧急电话控件显示

    在开发定制化wifi版平板时,需要去掉所有紧急拨打电话的功能,而紧急拨打电话在锁屏界面 和SystemUI 的下拉快捷里面有这些功能 所以就从这两个地方入手,屏蔽到紧急拨打电话功能 1.SystemU ...

  9. android 原生分享界面_手机资讯:省时省力!直接在锁屏界面打开应用App

    如今使用IT数码设备的小伙伴们是越来越多了,那么IT数码设备当中是有很多知识的,这些知识很多小伙伴一般都是不知道的,就好比最近就有很多小伙伴们想要知道省时省力!直接在锁屏界面打开应用App,那么既然现 ...

最新文章

  1. Windows2008系统忘记密码的解决方法
  2. 还记得当年你是如何接触Python的吗?
  3. 万能数据库查询分析器使用技巧之(十四)
  4. Scala教程之:Enumeration
  5. iOS - EaseMob 环信的使用
  6. html 常见hack,针对主流浏览器的CSS-HACK写法及IE常用条件注释
  7. 【转】Android图片加载神器之Fresco-加载图片基础[详细图解Fresco的使用]
  8. 有点火的程序秒收录牛X
  9. HTML5唐诗三百首,《唐诗三百首》中王维5首五言绝句,代表了盛唐绝句的最高成就!...
  10. 【CSS3】---only-child选择器+only-of-type选择器
  11. element元素 取属性_js element类型的属性和方法整理
  12. 实战爬虫:python爬虫学习笔记之爬取搜狗|微信文章——动态网页爬取
  13. 算法学习第一天-搭建能运行算法第四版的代码
  14. 敏捷开发模式下SDL实践
  15. MATLAB版 代码狗屁不通的狗屁不通文章生成器
  16. Android Studio 实现九宫格
  17. mysql五日均线代码_5日均线--攻击线
  18. 项目管理方法工具总结—挣值分析
  19. CF1151F Sonya and Informatics
  20. 洛谷 P1719 最大加权矩形 (前缀和,动态规划)

热门文章

  1. 3. 剪辑入门--电影混剪 (1)
  2. android 7.1 白屏,苹果iphone7手机白屏怎么回事 iphone7白屏不能关不了机的快速解决办法...
  3. css浏览器兼容性的问题
  4. CSS属性多个子容器时使用flex-shrink 计算比例
  5. bzoj1778 驱逐猪猡 [高斯消元+概率DP]
  6. 制造业数据安全如何保证?天翎知识文档管理系统+群晖NAS企业级解决方案
  7. 数据集划分、label生成及按label将图片分类到不同文件夹
  8. Hbase的scan原理
  9. 创翼NetKeeper校园网连接时出现118错误
  10. [转载] UEFI+GPT双硬盘安装Win10+Ubuntu16.04双系统