如何获取运营商名称

当用户去Query当前的网络运营商的时候, MD会报上来一些网络运营商,结果如下:
12-09 14:31:10.313479 1191 1228 I AT : [0] AT< +COPS:
(1,“BGD BL”,“BGDBL”,“47003”,“03F2”,7),
(1,“robi axiata”,“robi”,“47002”,“1393”,7),
(1,“47001”,“47001”,“47001”,“2743”,7),
(1,“BGD BL”,“BGDBL”,“47003”,“02EE”,2),…,(0-3),(0-2) (RIL_CMD_READER_1, tid:496938079472)
问题1: 经常有客户会问,比如47001这个运营商对应的运营商名称是什么?
回答: 可参考MtkRIL.java 中的lookupOperatorName这个Function.
基本上这个函数会分4步去Query当前的结果:
Step1: 首先从SIM卡中的(OPL/PNN)去读取相关的Operator Name.
Step2: 如果Step1没有获取到, 那么就从SIM卡中的CPHS去获取相关的OperatorName.
Step3: 如果Step2没有获取到, 那么接下来就会去NITZ相关的property中获取OperatorName, 相关MD上报的URC是:+CIEV:10,***
Step4: 如果Step3中没有获取到, 那么接下来就要从Device存储的File当中去获取, 如spn_config.xml

问题2: 这个时候,也有客户会问, 这个逻辑是不是Mtk内部的?
回答: 遵从了3GPP的Spec规定, 3GPP的规定如下:
Spec的出处是22.101 A.3/A.4.
Spec的内容如下:
1,It shall be possible to store on the USIM at least 10 PLMN Identifications (MCC+MNC combination and optionally the LAI) for which the same PLMN name shall be displayed.
2,The PLMN name stored in the USIM has the highest priority, followed by the PLMN name provided by NITZ. The PLMN name stored in the ME has the lowest priority.
3,If the PLMN name stored in the USIM is not available in text format and the UE is unable to display the graphic format, thePLMN name provided by NITZ has the highest priority,
4,the PLMN name stored in the ME has the next priority.

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值