当前位置: 首页 > 知识库问答 >
问题:

Android获取相邻单元格的MCC MNC字符串

南宫鸿晖
2023-03-14

移动国家代码由三位小数组成,移动网络代码由两位或三位小数组成(例如:001的MNC与01的MNC不同)https://en.wikipedia.org/wiki/Mobile_country_code

那么,要将MCC MNC作为一个字符串,您如何在Android中获得手机的MCC和MNC?可用于SIM卡插槽的主服务单元。

但是,我需要相邻单元格的这些值。

telephonyManager::getAllCellInfo

返回单元格列表,每个单元格都很好地保存了此信息(理论上),但我无法访问它。

我当前的minSdkVersion=26。

getAllCellInfo()!!.mapNotNull { cell ->
    when (cell) {
        is CellInfoGsm -> {
            println(cell.cellIdentity.mcc)
            println(cell.cellIdentity.mccString) // only available from 28 onwards
        }
    }
}
...

在哪里:

  1. 单元。手机识别。mcc已弃用

如何保存这些信息以准确找到合适的MCC/MNC?


共有1个答案

公孙盛
2023-03-14

您只能对Android 28及以上版本使用新的mccString方法。在旧的API上,无法获得“01”和“001”的不同表示形式。但是,这些值应仅用于测试目的,不应在实际生活中遇到。因此,您可以抑制对mcc的弃用。

telephonyManager.allCellInfo.forEach { cell ->
    if (cell is CellInfoGsm) {
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
            println(cell.cellIdentity.mccString)
        } else {
            @Suppress("DEPRECATION")
            println(cell.cellIdentity.mcc)
        }
    }
}
 类似资料:
  • 我基于Prim的算法编写了一个迷宫生成器程序: 该算法是Prim算法的随机版本。 从满是墙的网格开始 (来自维基百科) 我已经理解了算法,我只是停留在这一部分:“知道相邻单元是否构成迷宫的一部分”(这意味着,首先获取相邻单元),因为这些单元实际上是树的节点(迷宫,一个二维单元阵列),而墙是这些节点之间的边,我认为有必要用一对点(x,y)来识别每面墙。我如何知道两个电池是否由一堵墙连接?(请记住,每

  • 当我在excel、LibreOffice Calc或Google Sheets中打开我的CSV时,每个单元格的字符限制被超过,一个单元格中的数据溢出到相邻的单元格中。如何防止这种情况发生,使文件保持其原始结构?或者,是否有其他方法可以编辑此文件以避免此问题?或者,如果没有,有没有办法切断任何超出单元格字符限制的内容,以便我可以正确使用电子表格?

  • 我已经编写了一个程序,找到一个包含“customer:”的单元格,并且程序成功地工作。问题是,我想要直接挨着单元格的单元格的值。布局如下所示:

  • 我试图通过单元格引用从行中获取单元格,但我遇到了一个问题。例如,我有: 如果列索引是,那么该操作很好,但是如果列被删除,因此列索引变成了并且方法:仍然将其转换为在这种情况下,我无法获取我的列,我将获取。 所以问题是,我如何从行中获得列,取决于单元格标识符,这是一个字母?

  • 我怀疑这可能是VBA的工作,这超出了我的能力。但情况是这样的: 表1(CAS1)中的A列包含x行文本值 第2页(CAS2)中的A列包含x行文本值 A部分-对于CAS1中的每个行值,我需要知道字符串是否包含在CAS2中的任何单元格中。不完全匹配,字符串只能是搜索单元格的一部分。 B部分-我需要知道CAS2中包含CAS1值的每个单元格的单元格值(如果它们确实存在,可以在CAS1中搜索的单元格旁边的单元

  • null 如您所料,A3将导致。现在将A2的格式更改为会计,使用小数点后2位。A2现在读,但是基础值仍然是,所以A3仍然是。 VBA 制作一个新模块并添加以下函数: null 和具有相同的基础值,但和没有,尽管它们都是使用和的方法计算的。 ()中的表达式正在访问和的实际基础值。如何在VBA中访问这些值?