Android U 配置 WiFiCalling 场景下PLMN/SPN 显示的代码逻辑介绍

这篇具有很好参考价值的文章主要介绍了Android U 配置 WiFiCalling 场景下PLMN/SPN 显示的代码逻辑介绍。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

功能介绍

根据设备的网络连接情况更新状态栏显示的运营商及网络状态。

注册上WFC(WiFi Calling)后,支持客制化显示左上角状态栏中的运营商网络状态信息 。具体的代码逻辑在CarrierDisplayNameResolver.java。

ServiceStateTracker 网络状态变化触发更新,流程如下:

  1. updateSpnDisplay(),有以下场景会更新SPN:
    1. onSubscriptionsChanged() 注册状态变化时
    2. BroadcastReceiver() 收到广播
      1. Intent.ACTION_LOCALE_CHANGED
      2. TelephonyManager.ACTION_NETWORK_COUNTRY_CHANGED
    3. handleMessage() 收到消息处理
      1. EVENT_ICC_CHANGED
      2. EVENT_NITZ_TIME
      3. EVENT_IMS_CAPABILITY_CHANGED
      4. EVENT_RUIM_RECORDS_LOADED
    4. setImsRegistrationState(final boolean registered)——It's possible ServiceState changes did not trigger SPN display update; we update it here
    5. pollStateDone()——Trigger updateSpnDisplay when 1. Service state is changed. 2. phone type is Cdma or CdmaLte and ERI text has changed.
  2. updateSpnDisplayCdnr()
  3. getCarrierDisplayNameData()
  4. resolveCarrierDisplayName()
  5. getCarrierDisplayNameFromWifiCallingOverride()
    1. 获取com.android.internal.R.array.wfcSpnFormats值

Android U 配置 WiFiCalling 场景下PLMN/SPN 显示的代码逻辑介绍,Telephony,Android Telephony,网络通信,Android,Telephony,SPN,PLMN,WiFiCalling

相关类:/frameworks/opt/telephony/src/java/com/android/internal/telephony/文章来源地址https://www.toymoban.com/news/detail-828720.html

  • /cdnr/CarrierDisplayNameResolver.java(可客制化抽出来做telephony-common.jar)
  • ServiceStateTracker.java
  • /cdnr/CarrierDisplayNameData.java(序列化对象)
//frameworks/opt/telephony/src/java/com/android/internal/telephony/ServiceStateTracker.java

    //1. SS 变化更新SPN显示 
    public void updateSpnDisplay() {
        if (mCarrierConfig.getBoolean(
            CarrierConfigManager.KEY_ENABLE_CARRIER_DISPLAY_NAME_RESOLVER_BOOL)) {
    

到了这里,关于Android U 配置 WiFiCalling 场景下PLMN/SPN 显示的代码逻辑介绍的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • go-zero踩坑:在api层逻辑代码中设置context超时时间,传递到rpc层逻辑代码时设置的context超时时间消失 + api层和rpc层Timeout配置说明

    在api层逻辑代码中设置context超时时间,传递到rpc层逻辑代码时设置的context超时时间消失 我在用 go-zero 时,在 api 层传递 context 到 rpc 层,但报错: rpc error:DeadlineExceeded desc = context deadline exceeded ,这是 上下文超时 导致的(客户端用的上下文是 context.WithTimeout 超时时间 小于

    2024年02月11日
    浏览(60)
  • 前端实现websocket的应用场景以及逻辑实现

    前端在基础业务逻辑外,根据具体的业务需求还可以实现更复杂的交互逻辑,如: 数据同步:WebSocket 可用于实时更新数据,当服务器端数据发生变化时,通过 WebSocket 将变化的数据推送给前端,以保持数据的实时同步。 聊天功能:使用 WebSocket 实现实时聊天功能,前端用户可

    2024年02月08日
    浏览(44)
  • 无人机跟随一维高度避障场景--逻辑分析

    最近拿到一台测试样机,功能很多,就不多赘述。 这里针对跟随功能进行下吐槽和分析,当然由于成本或者技术问题,该机不配备3D/2D避障功能。 首先,上视频,不废话。 HoverX1 同样的路不一定好走,但低头走路一定不行 问题就是我走的好好的,结果这个跟随的飞机碰到树

    2024年02月12日
    浏览(24)
  • Spark DataFrame:从底层逻辑到应用场景的深入解析

    本文将深入探讨Spark DataFrame的底层逻辑、发展由来以及应用场景。通过了解DataFrame的底层逻辑,我们可以更好地理解其在Spark中的重要地位。同时,了解DataFrame的发展历程和应用场景,可以帮助我们更好地掌握这一强大的数据处理工具,并在实际工作中加以运用。 DataFrame的底

    2024年01月24日
    浏览(39)
  • SPN在域环境的应用

    windows域为了集中资源,有效地对资源访问控制权限进行细粒度分配,提高网络资源统一分配的管理.域内的每种资源分配了不同的服务主体名称(SERVICE Pricipal Name,SPN) keberos协议进行身份验证的网络中,内置账号或者用户账号下为服务器注册SPN.对于内置账号,SPN进行自动注册 如果在域

    2024年02月02日
    浏览(18)
  • SPN的重要性 | 保障服务安全和身份验证

    什么是 Service Principal Name(SPN)? SPN 是用于标识网络服务的唯一名称。在 Windows 中,SPN 与 Kerberos 认证一起使用。 SPN 是由两部分组成的: 服务类型(Service Class): 表示服务的类型,如 HTTP 、 SQL 、 MSSQL 等。 主机名(Host): 标识提供服务的实际主机。 一个完整的 SPN 形式

    2024年01月23日
    浏览(40)
  • Android studio配置OpenCV的JNI接口,实现C++代码编程

    目录 一、下载OpenCV-android-sdk 二、新建项目 三、导入OpenCV包  四、配置OpenCV的JNI接口,拷贝OpenCV所需的头文件和库文件 五、修改Cmake文件  六、配置app的build.gradle文件  七、测试 OpenCV官网地址:https://opencv.org/  点击Library--Releases,下载Android版本,解压得到 OpenCV-android-sdk文件

    2024年02月10日
    浏览(45)
  • 【操作系统】c语言--进程调度算法(FCFS和SPN)

    创作不易,本篇文章如果帮助到了你,还请点赞 关注支持一下♡𖥦)!! 主页专栏有更多知识,如有疑问欢迎大家指正讨论,共同进步! 🔥c++系列专栏:C/C++零基础到精通 🔥 给大家跳段街舞感谢支持!ጿ ኈ ቼ ዽ ጿ ኈ ቼ ዽ ጿ ኈ ቼ ዽ ጿ ኈ ቼ ዽ ጿ ኈ ቼ c语言内容💖:

    2024年02月12日
    浏览(47)
  • 可编程逻辑器件之数码管显示实验

    一、实验目标 能够熟练的进行可编程逻辑器件开发,能够通过具体工程需求进行需求分析、模块划分、代码编写、功能仿真、综合分析、板级验证,能够独立正确的进行实验操作,培养学生的工程实践研究能力和动手实践能力,具备借助可编程逻辑器件开发平台和仿真工具科

    2024年02月02日
    浏览(122)
  • 【android studio 简单配置多语言国际化app 一行代码实现切换语言】

    新版本的android studio配置多语言其实很简单,不过目前网上找到的几个博客都搞得很复杂,可能是版本比较老的时候出的方案,今天分享一下怎么一行代码切换语言. 1.切换语言你得先有语言对应的文本,推荐插件一键生成.在设置里搜索Androidlocalize,直接安装即可 2.安装好了以后右键

    2024年02月11日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包