如何在双SIM卡移动编程的情况下获得两个Sim的CID和LAC?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在双SIM卡移动编程的情况下获得两个Sim的CID和LAC?相关的知识,希望对你有一定的参考价值。

我正在开展一个项目,我必须使用移动塔跟踪位置。当sim2处于紧急状态时,它在Telephony Manager中提供空指针异常。我必须为两个SIM卡获得LAC,CID,MCC,MNC。我可以使用SubscriptionManager获取MCC,MNC。但是如何才能获得两张SIM卡的LAC和MCC?

答案

试试这种方式

创建一个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)

现在在Activity中

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))
          }

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

以上是关于如何在双SIM卡移动编程的情况下获得两个Sim的CID和LAC?的主要内容,如果未能解决你的问题,请参考以下文章

如何知道双 SIM 安卓手机中哪个 SIM 卡正在消耗移动数据?

获取双卡安卓移动设备中两个 sim 卡插槽的 IMEI

SIM卡询问是如何开启的?

SIM卡询问是如何开启的?

如何以编程方式访问 SIM 卡?

汽车自带的4G网络从何而来,需要通过手机连接才可以使用吗?