当前位置: 首页 > article >正文

Android SPN/PLMN 显示逻辑简介

功能描述

当设备驻网后(运营商网络),会在状态栏、锁屏界面、下拉控制中心显示运营商的名称。

此名称来源有两种:

1、SPN(Service Provider Name)

2、PLMN (Public Land Mobile Name)

功能 AOSP默认逻辑
SPN 提供SIM卡的运营商名称 预置在SIM EF中,SIM卡发行运营商名称。
PLMN 驻网的运营商名称 驻网成功后从注册网络中获取。

以上是AOSP原生逻辑,由于有些运营商预置的SPN是空的,OEM/ODM开发的时候会针对卡信息override去规避这种情况。

业务流程

以GSM手机驻移动网络的场景分析显示情况。

网络名称显示在不同界面,但数据来源一致的,跟网络状态信息一样,由ServiceStateTracker负责处理。主要逻辑:

1、获取确认两种显示名称

  • 根据网络状态来确定PLMN的显示名称
  • 读取SIM卡中SPN显示名称

2、根据SIM卡信息确定显示规则

  • 定了是显示PLMN或SPN或两者都
  • IMS 网络下还有dataSpn

3、ServiceStateTracker广播名称信息

将PLMN&SPN显示名称和显示规则display rule标志位广播出去

  • 广播消息:TelephonyIntents.SPN_STRINGS_UPDATED_ACTION
  • SystemUI和Keyguard(锁屏) APP

http://www.kler.cn/news/307075.html

相关文章:

  • SpringBoot框架Web开发
  • 第十一章 【后端】商品分类管理微服务(11.1)——创建父工程
  • Python 实现 LM 算法(Levenberg-Marquardt)
  • PCIe进阶之TL:First/Last DW Byte Enables Rules Traffic Class Field
  • Linux命令分享 四 (ubuntu 16.04)(vi操作文件)
  • 第十七节:学习Hutool上传文件(自学Spring boot 3.x的第四天)
  • C++比大小游戏
  • 虚幻引擎Gameplay探索 Actor 之间的高效通信与交互技巧一
  • 鹏哥C语言39---goto语句(关机程序 )
  • UE4_后期处理六—复古电视效果
  • 【HCIA-Datacom】华为VRP系统
  • 利用Leaflet.js创建交互式地图:绘制固定尺寸的长方形
  • uniapp uni-table合并单元格
  • .SUFFIXES:
  • openGemini 社区人才培养计划:助力成长,培养新一代云原生数据库人才
  • Redis面试题整理
  • 信息学奥赛:青少年编程的高光舞台,通向未来科技的敲门砖
  • 冒泡,选择,快速-排序
  • nestjs cache manager 很ioredis配合使用方案
  • Python Pyvis库创建交互式网络图 高级功能详解
  • 设计模式---中介者模式
  • 智能客服 | AI助理与内部知识库如何优化用户体验
  • 机器学习-深度学习数据集之打架斗殴识别数据集
  • Mysql InnoDB 存储引擎简介
  • Python 解析 JSON 数据
  • RabbitMQ高级篇,进阶内容
  • 【题解】AT_arc035_b [ARC035B] アットコーダー王国のコンテスト事情
  • 手势开关灯
  • 宿舍管理系统的设计与实现 (含源码+sql+视频导入教程)
  • 【Kubernetes】常见面试题汇总(十八)