公司有很多物联网设备,关键的信号参数是RSRP,总有些地方信号差,不适合安装。所以让开发一款测信号的app,用于现场的同事在判定是否符合设备信号条件,再考虑安装设备。
由于与开发过程中使用的是Android sdk33,版本太高,网上搜到的很多旧的方法已经弃用,用起来也比较麻烦。
自己捣鼓了半天使用的新方法,话不多说直接上我的代码
@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实例,
最后附上运行效果图
可以看到RSRP是-98,符合NB设备信号需求。
文章来源地址https://www.toymoban.com/news/detail-797432.html
文章来源:https://www.toymoban.com/news/detail-797432.html
到了这里,关于Android12以上获取设备网络信号数据的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!