Android12以上获取设备网络信号数据

这篇具有很好参考价值的文章主要介绍了Android12以上获取设备网络信号数据。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

公司有很多物联网设备,关键的信号参数是RSRP,总有些地方信号差,不适合安装。所以让开发一款测信号的app,用于现场的同事在判定是否符合设备信号条件,再考虑安装设备。

由于与开发过程中使用的是Android sdk33,版本太高,网上搜到的很多旧的方法已经弃用,用起来也比较麻烦。

Android12以上获取设备网络信号数据

自己捣鼓了半天使用的新方法,话不多说直接上我的代码

@RequiresApi(Build.VERSION_CODES.S)
fun getMobileNetworkSignal(context: Context): NetworkSignal {
  val telephonyManager = context.getSystemService(Context.TELEPHONY_SERVICE) as TelephonyManager
  //获取运营商
  val simOperatorName = telephonyManager.simOperatorName
  //获取当前网络信息
  val signalStrength = telephonyManager.signalStrength?.cellSignalStrengths
  // val signalStrengthGsm = telephonyManager.signalStrength?.getCellSignalStrengths(CellSignalStrengthGsm::class.java)
  // val signalStrengthLte = telephonyManager.signalStrength?.getCellSignalStrengths(CellSignalStrengthLte::class.java)
  // val signalStrengthWcdma = telephonyManager.signalStrength?.getCellSignalStrengths(CellSignalStrengthWcdma::class.java)
  networkSignal = NetworkSignal(signalStrength.toString(), simOperatorName)
  return networkSignal
}

1、显示获取TelephonyManager实例,

2、直接调方法telephonyManager.simOperatorName,获取运营商
3、telephonyManager.signalStrength?.cellSignalStrengths,返回正在使用的网络信息列表
4、至于telephonyManager.signalStrength?.getCellSignalStrengths(CellSignalStrengthGsm::class.java),则是获取Gsm这种通讯协议的网络信息,没有的话就返回的是空列表,
也可以指定其他通讯,有下面这些

Android12以上获取设备网络信号数据

 最后附上运行效果图

Android12以上获取设备网络信号数据

 可以看到RSRP是-98,符合NB设备信号需求。

 文章来源地址https://www.toymoban.com/news/detail-797432.html

 

 

 

 
 
 
 
 
 

到了这里,关于Android12以上获取设备网络信号数据的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • Android打开系统文件管理器,并获取选中文件的路径,适配Android10及以上无法获取路径

    1.进入文件管理器 2.在onActivityResult中获取返回结果 3.FileHelper完整工具类

    2024年02月02日
    浏览(47)
  • Android 11以上获取不到第三方app是否安装

    开年第一篇,处理了一下年前的小问题。 问题:本地app跳转到第三方app地图进行导航,获取不到第三方地图是否安装。 解决: 1.添加包名  This can be done by adding a  queries  element in the Android manifest.在app下的manifest文件内manifest标签下添加 queries标签设置包名 2.MapUtil工具类 3.调用

    2024年02月19日
    浏览(34)
  • android 9.0以上版本,获取U盘路径的两种方式

    第一种,通过DocumentProvider: 第二种,通过StorageManager,无法使用的记得用反射;

    2024年02月13日
    浏览(31)
  • 【已解决】Android12以上PendingIntent需要强制增加FLAG_IMMUTABLE或FLAG_MUTABLE

    Android13适配时报下面错误: java.lang.IllegalArgumentException: android: Targeting S+ (version 31 and above) requires that one of FLAG_IMMUTABLE or FLAG_MUTABLE be specified when creating a PendingIntent. 修改方法: 参考: App和SDK开发必看 | 个推分享Android12适配指南 - 知乎 (zhihu.com)

    2024年02月11日
    浏览(26)
  • Android网络编程,调用API获取网络数据

    实现步骤: 阅读API接口使用文档 使用okhttp 获取网络数据 使用 gson将json数据转为数据实体类 安装GsonFormatPlus插件 使用glide加载网络图片 build.gradle下导入相关依赖 AndroidManifest.xml 加入网络权限和 application节点下设置 注意事项:在手机高版本中,需要在application节点下设置 and

    2024年02月05日
    浏览(30)
  • 《Android学习笔记》Android12蓝牙扫描不到设备的权限问题

    Android12 关于蓝牙这部分新增了 BLUETOOTH_SCAN 、 BLUETOOTH_ADVERTISE 和 BLUETOOTH_CONNECT 权限,这些权限都属于敏感权限,都需要在代码中动态申请。移除了Android11 及以下版本中必须申请的位置权限[ FINE_LOCATION ] 和 [ COARES_LOCATION ]。 1、在Manifest.xml清单文件中添加对应的权限。 其中 An

    2024年02月15日
    浏览(35)
  • Android 获取设备的CPU型号和设备型号

    原文: Android 获取设备的CPU型号和设备型号-Stars-One的杂货小窝 之前整的项目的总结信息,可能不太全,凑合着用吧,代码在最下面一节 华为: ro.mediatek.platform vivo: ro.vivo.product.platform oppo: ro.board.platform 或 ro.product.board 三星: ro.board.platform 小米: ro.soc.model 小米: GKI 2.0 之前,/proc/cpuin

    2024年03月11日
    浏览(102)
  • Android获取手机设备信息

    Android获取手机设备信息 在Android应用开发中,我们经常需要获取手机设备的信息来做一些个性化的逻辑处理。本文将介绍如何使用Android提供的API获取手机设备信息,并给出相应的源代码示例。 获取设备型号 设备型号可以帮助我们了解用户所使用的具体设备类型,从而做出一

    2024年01月25日
    浏览(32)
  • 【数据技术】利用Python获取高德地图POI数据——以上海瑞幸门店为例

    本文讲述 利用Python获取高德地图POI数据 的思路以及具体步骤。 此处以 上海 的 瑞幸门店 为例,目的是同时讲述 多边形搜索 、 搜索 以及 POI类型搜索 的具体用法。 本文 完整代码 的获取方式在 文末 ,有需求的小伙伴自取。 上海瑞幸门店地图可视化 上海瑞幸门店地

    2024年02月05日
    浏览(54)
  • Android设备序列号:如何获取和查找您的Android设备的序列号

    Android设备序列号:如何获取和查找您的Android设备的序列号 在使用Android设备时,有时候需要查找设备的序列号来进行诊断、维修或者进行其他操作。本文将介绍如何获取和查找Android设备的序列号,并提供相应的源代码示例。 Android设备的序列号是一个唯一的标识符,用于区分

    2024年02月07日
    浏览(38)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包