首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用cellIdentityNr和cellSignalNr在5G中显示一些信息?

如何使用cellIdentityNr和cellSignalNr在5G中显示一些信息?
EN

Stack Overflow用户
提问于 2022-07-22 13:42:45
回答 1查看 78关注 0票数 0

我使用了一些命令来显示3G和4G环境中的一些参数,我成功地使用了这些命令来获得所需的parameters.But --它在5G (Nr)环境下不工作,有什么问题?我的api已经更新到29了。

代码语言:javascript
复制
private fun getCellInfo(cellInfo:CellInfo): HashMap<Any? ,String?> {
    var netclass = getNetworkClass()
    Log.d("MyActivity",netclass)
    var map = hashMapOf<Any?, String?>()
    if (cellInfo is CellInfoGsm) {
        val cellIdentityGsm = cellInfo.cellIdentity
        val cellSignalGsm = cellInfo.cellSignalStrength
        map["cell_identity"]=cellIdentityGsm.cid.toString()
        map["MCC"]=cellIdentityGsm.mcc.toString()
        map["MNC"]=cellIdentityGsm.mnc.toString()
        map["LAC"]=cellIdentityGsm.lac.toString()
        map["RSSI"]=cellSignalGsm.dbm.toString()
        map["RxLev"]=cellSignalGsm.asuLevel.toString()
        map["Level_of_strength"]=cellSignalGsm.level.toString()
        map["type"]="2"
    } else if (cellInfo is CellInfoLte) {
        val cellIdentityLte = cellInfo.cellIdentity
        val cellSignalStrengthLte = cellInfo.cellSignalStrength
        map["cell_identity"] = cellIdentityLte.ci.toString()
        map["MCC"] = cellIdentityLte.mcc.toString()
        map["MNC"] = cellIdentityLte.mnc.toString()
        map["TAC"] = cellIdentityLte.tac.toString()
        map["RSRP"] = cellSignalStrengthLte.rsrp.toString()
        map["RSRQ"] = cellSignalStrengthLte.rsrq.toString()
        map["Level_of_strength"] = cellSignalStrengthLte.level.toString()
        map["type"] = "4"
    } else if (cellInfo is CellInfoWcdma) {
        val cellIdentityWcdma = cellInfo.cellIdentity
        val cellSignalWcdma = cellInfo.cellSignalStrength
        map["cell_identity"]=cellIdentityWcdma.cid.toString()
        map["MCC"]=cellIdentityWcdma.mcc.toString()
        map["MNC"]=cellIdentityWcdma.mnc.toString()
        map["LAC"]=cellIdentityWcdma.lac.toString()
        map["RSCP"]=cellSignalWcdma.dbm.toString()
        map["Level_of_strength"]=cellSignalWcdma.level.toString()
        map["type"]="3"
    }else if (cellInfo is CellInfoNr){
        val  cellIdentityNr = cellInfo.cellIdentity
        val cellSignalStrengthNr = cellInfo.cellSignalStrength
        map["cell_identity"]=cellIdentityNr.Nci.toString() //wrong here
        map["RSRP"]=cellSignalStrengthNr.asuLevel.toString()
    }
    map["net_type"]=netclass
    map["plmn"] = tm.getNetworkOperator().toString()
    return map
}

在这里输入图像描述

EN

回答 1

Stack Overflow用户

发布于 2022-09-27 13:00:31

有两种类型的5G网络,SA和NSA,上面的类,返回的值的SA没有得到广泛的实现。国安局使用LTE作为信号,5G用于数据。因此,如果您正在使用公共运营商5G服务,它可能是美国国家安全局,你应该从allCellInfo中提取信息。

阿明。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73081343

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档