华为 nova 6(5g)如何判断当前是4G还是5G网络?

发布于 2022-09-12 01:22:31 字数 694 浏览 64 评论 0

机器配置:

  • 华为 nova 6(5g)
  • EMUI 10.0.1
  • Android 10
  • 网络运营商是移动

要实现的功能:

  • 在开启5G的情况下,判断当前手机连接的蜂窝网络是4G还是5G。

尝试过的办法:

  • 利用 TelephonyManager.getNetworkType() 函数,其返回值是一直是0。
  • 利用 TelephonyManager.getDataNetworkType() 函数,返回值一直是NETWORK_TYPE_UNKNOWN。
  • 利用 ConnectivityManager.getActiveNetworkInfo().getSubtype() 函数,这个可以识别 4G 网络,但是连接到 5G 网络时(手机界面显示是5G,测速为数百M)仍然返回是 4G 网络。
  • 利用 TelephonyManager.getAllCellInfo() 函数,检查其返回的 List<CellInfo> 中是否同时存在 CellInfoLte 和 CellInfoNr,并且二者状态都是 registered(即对其调用 isRegistered() 返回 true)。结果在连接到5G时,其返回 List 中不存在 CellInfoNr 类型的对象。

请问是否是做法有误?有何可行的方法?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

無處可尋 2022-09-19 01:22:31

请问您解决了么,我也一样遇到这个问题,死活识别不了5G

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文