首页 > 解决方案 > 如何以编程方式在双卡移动的情况下为双卡获取 CID 和 LAC?

问题描述

我正在做一个项目,我必须使用移动塔跟踪位置。当 sim2 处于紧急状态时,它会在 Telephony Manager 中给出空指针异常。我必须为两个模拟人生获取 LAC、CID、MCC、MNC。我可以使用 SubscriptionManager 获取 MCC、MNC。但是我怎样才能获得两张 sim 卡的 LAC 和 MCC?

标签: androidlocationtelephonymanagerandroid-subscriptionmanager

解决方案


试试这个方法

创建一个 pojo 让我们说Operator

data class Operator(
    var operatorName: String? = null,
    var operatorNumber: String? = null,
    var position: Int? = null,
    var subscriptionId: String? = null,
    var subId: Int? = null)

现在在活动中

var subscriptionManager =getSystemService(Context.TELEPHONY_SUBSCRIPTION_SERVICE) as SubscriptionManager
        val listOfSubInfo = subscriptionManager.activeSubscriptionInfoList
        for (value in listOfSubInfo) {
                operatorList?.add(Operator(value.displayName.toString(), value.number, value.simSlotIndex, value.iccId, value.subscriptionId))
          }

您现在拥有设备内所有模拟人生信息的列表。您可以使用此方法获取 MCC、MNC、subscriptionId、iccId。


推荐阅读