发布时间:2026/8/6 20:00:45
第25章_HarmonyOs开发图解之 电话服务 第25章 HarmonyOs开发图解之 电话服务HarmonyOS 学习系统 | 阶段四专业精通期学习目标序号能力1掌握 RadioInfoManager 获取信号信息和网络类型2能够使用 RadioStateObserver 监听信号和网络状态变化3理解蜂窝网络类型GPRS/LTE/5G NR的含义核心图解内容讲解25.1 电话服务概述HarmonyOS 的电话服务模块通过RadioInfoManager提供蜂窝网络的信息查询和状态监听能力。开发者可以获取当前信号强度、网络类型2G/3G/4G/5G、SIM 卡状态等信息。生活化类比RadioInfoManager 就像信号侦探想象你是一个信号侦探装备了一台信号检测仪RadioInfoManager。你可以随时检测当前的信号有多强getSignalInfoList、手机连的是哪种网络NetworkType5G/LTE/3G以及网络服务状态网络是否可用。RadioStateObserver 则像你雇了一个助手他会持续帮你盯着信号变化一旦信号从 5G 掉到 4G他会立刻通知你。25.2 网络类型对照表NetworkType 值网络类型说明0UNKNOWN未知网络1GPRS2.5G2CDMA2G CDMA3EVDO3G CDMA4WCDMA3G WCDMA5LTE4G6NR5GNew Radio25.3 信号信息获取与状态监听// 获取信号信息RadioInfoManagerradioInfoManagerRadioInfoManager.getInstance(context);ListSignalInformationsignalListradioInfoManager.getSignalInfoList(0);// slotId0 主卡for(SignalInformationsignal:signalList){HiLog.info(TAG,网络类型: signal.getNetworkType(), 信号等级: signal.getSignalLevel());}// 注册状态观察者classMyRadioStateObserverextendsRadioStateObserver{publicMyRadioStateObserver(intslotId){super(slotId);}OverridepublicvoidonNetworkStateUpdated(NetworkStatestate){HiLog.info(TAG,网络状态更新: state.getState());}OverridepublicvoidonSignalInfoUpdated(ListSignalInformationsignalInfoList){for(SignalInformationsignal:signalInfoList){HiLog.info(TAG,信号变化: typesignal.getNetworkType(), levelsignal.getSignalLevel());}}}// 添加/移除观察者MyRadioStateObserverobservernewMyRadioStateObserver(0);radioInfoManager.addObserver(observer);// radioInfoManager.removeObserver(observer);25.4 SIM 卡状态检查// 检查 SIM 卡是否在位booleanhasSimradioInfoManager.hasSimCard(0);// slotId0if(!hasSim){showTip(请插入 SIM 卡);return;}代码速查卡API功能示例RadioInfoManager.getInstance(context)获取电话服务管理实例RadioInfoManager.getInstance(context)getSignalInfoList(slotId)获取信号信息列表radioInfoManager.getSignalInfoList(0)hasSimCard(slotId)检查 SIM 卡是否在位radioInfoManager.hasSimCard(0)addObserver(observer)注册状态观察者radioInfoManager.addObserver(observer)removeObserver(observer)移除状态观察者radioInfoManager.removeObserver(observer)signal.getNetworkType()获取网络类型signal.getNetworkType()signal.getSignalLevel()获取信号等级signal.getSignalLevel()与 Android/iOS 对比特性HarmonyOSAndroidiOS信号信息RadioInfoManagerTelephonyManagerCTTelephonyNetworkInfo状态监听RadioStateObserverPhoneStateListenerNotificationCenter网络类型SignalInformationNetworkTypeCTRadioAccessTechnologySIM 卡检查hasSimCard()getSimState()CTTelephonyNetworkInfo⚠️ 踩坑回忆录拔掉 SIM 卡后应用崩溃了我的信号监听 App 在没有 SIM 卡的设备上直接崩溃因为没有处理getSignalInfoList返回空列表或 null 的情况。正确做法是先调用hasSimCard(slotId)检查 SIM 卡是否在位不在位时给出提示而非继续操作。另外RadioStateObserver在不需要时一定要记得removeObserver()否则会造成内存泄漏Ability 销毁后观察者还在被系统回调。必做实操任务序号任务难度1获取并展示当前信号强度和网络类型低2实现信号变化的实时监听 UI中3检查 SIM 卡状态并展示双卡信息低4实现网络类型变化的提示如从 5G 降到 4G中5实现一个信号监测仪表盘 App高学习检查清单能使用 RadioInfoManager 获取信号信息能区分 2G/3G/4G/5G 网络类型能使用 RadioStateObserver 监听信号变化知道为什么要先检查 SIM 卡状态能正确添加和移除状态观察者理解 slotId 的含义双卡场景能处理无 SIM 卡的异常情况知道 5G NR 对应的 NetworkType 值进阶方向实现基于网络类型的智能策略如 5G 时高清播放4G 时标清播放结合第 24 章网络管理实现综合网络质量评估探索蜂窝网络和 WLAN 的自动切换策略无 SIM 卡的异常情况知道 5G NR 对应的 NetworkType 值进阶方向实现基于网络类型的智能策略如 5G 时高清播放4G 时标清播放结合第 24 章网络管理实现综合网络质量评估探索蜂窝网络和 WLAN 的自动切换策略

相关新闻

2026/8/6 20:00:45

建站公司告诉你,网站建设包括哪些方面(全流程深度解析)

在这个数字化浪潮汹涌澎湃的时代,几乎每一个稍微有点规模的企业,或者每一个想在互联网上留下点印记的创作者,都会面临同一个问题:我要做个网站。听起来似乎很简单,毕竟现在随便找个模板拖拽一下,好像半天就能上线一个。但是,真当你着手去准备的时候,你会发现水深得很,…

2026/8/6 20:00:45

3d-vehicle-tracking常见问题解答:新手必知的8个关键知识点

3d-vehicle-tracking常见问题解答:新手必知的8个关键知识点 【免费下载链接】3d-vehicle-tracking Official implementation of Joint Monocular 3D Vehicle Detection and Tracking (ICCV 2019) 项目地址: https://gitcode.com/gh_mirrors/3d/3d-vehicle-trackin…

2026/8/6 21:00:49

Unity数据可视化实战:XCharts插件从入门到性能优化

1. 项目概述:为什么Unity开发者需要XCharts?在Unity项目里做数据可视化,这事儿听起来简单,但真动起手来,坑可不少。自己用UGUI的Image和Text拼?光是布局对齐、数据映射、动画交互就能把人折腾得够呛。用Ass…

2026/8/6 21:00:49

数据库霸占的C盘空间

最近项目都压在了一起,忙起来停不下来,今天在搞数据库备份的时候,突然发现,我的C盘老大竟然就剩下30G了,总容量300G的老大,就剩了十分之一,问题是公司的电脑一直在开发调试公司的项目&#xff0…

2026/8/5 3:13:11

如何用免费工具突破游戏窗口限制:SRWE完整使用指南

如何用免费工具突破游戏窗口限制:SRWE完整使用指南 【免费下载链接】SRWE Simple Runtime Window Editor 项目地址: https://gitcode.com/gh_mirrors/sr/SRWE 你是否遇到过这样的困扰?想为心爱的游戏截图,却发现游戏不支持自定义分辨率…

2026/8/6 0:04:22

电力系统调度中的源荷不确定性建模与优化实践

1. 电力系统调度中的源荷不确定性挑战现代电力系统正面临前所未有的复杂性,其中源荷不确定性(Source-Load Uncertainty)已成为调度决策中最棘手的难题之一。我在参与某省级电网调度系统升级时,曾遇到风电预测误差导致日内调度计划…

2026/8/6 0:04:22

VGG-T3技术解析:3D重建速度的革命性突破

1. 项目概述:VGG-T3如何重新定义3D重建速度在计算机视觉领域,3D场景重建一直是个计算密集型任务。传统方法重建1000帧图像规模的场景往往需要数小时甚至更长时间,而英伟达最新发布的VGG-T3技术将这个时间压缩到了惊人的54秒。这个突破性进展来…

2026/8/6 0:04:22

深度解析旅游网站建设的意义及其对行业发展的深远影响与核心价值体现

在这个数字化浪潮席卷全球的今天,我们似乎已经忘记了,曾经有一段时间,人们想要去一个陌生的地方,只能靠在书桌前翻阅厚厚的旅游杂志,或者向刚从那里回来的朋友询问那些模糊不清的印象。那时候,“远方”是一个需要精打细算才能抵达的奢侈概念。而现在,只需要一部手机,轻…

2026/8/5 19:21:13

实测才敢推 AI论文网站 2026最新测评与推荐

2026年真正好用的AI论文网站,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。一、综…

2026/8/5 19:21:13

2026必备!AI论文网站测评:最新推荐与深度对比

2026年真正好用的AI论文网站,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。 一、…

2026/8/6 20:45:01

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

一天写完毕业论文在2026年已不再是天方夜谭。2026年最炸裂、实测能大幅提速的AI论文写作工具,覆盖选题构思、文献整理、内容生成、格式排版等核心场景,真正帮你高效搞定论文难题。 一、全流程王者:一站式搞定论文全链路(一天定稿首…