HarmonyOS 鸿蒙Next是否可以判断当时使用的主卡是哪家运营商

发布于 1周前 作者 h691938207 来自 鸿蒙OS

HarmonyOS 鸿蒙Next是否可以判断当时使用的主卡是哪家运营商

鸿蒙是否可以判断当时使用的主卡是哪家运营商

3 回复

可使用

sim.getSimSpn   获取运营商名称 ,

sim.getSimOperatorNumeric  获取运营商编码,

可参考文档https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-sim-V5#ZH-CN_TOPIC_0000001847208548__simgetsimoperatornumeric-1

radio.getPrimarySlotId 获取主卡所在卡槽的索引号

https://developer.huawei.com/consumer/cn/doc/harmonyos-references/js-apis-radio#radiogetprimaryslotid7

如果用getSimSpn可以解决问题就不需要getSimOperatorNumeric了。

更多关于HarmonyOS 鸿蒙Next是否可以判断当时使用的主卡是哪家运营商的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS 鸿蒙Next系统中,判断当前使用的主卡运营商信息,可以通过访问系统提供的TelephonyManager API来实现。具体步骤如下:

  1. 获取TelephonyManager实例:通过调用Context.getSystemService(Context.TELEPHONY_SERVICE)方法获取TelephonyManager实例。

  2. 获取SubscriptionInfo:使用SubscriptionManager来获取当前激活的订阅信息(SIM卡信息),通过SubscriptionManager.getActiveSubscriptionInfoList()方法可以得到激活的订阅信息列表。

  3. 判断主卡并获取运营商信息:遍历订阅信息列表,根据SubscriptionInfo.isPrimary()方法判断哪张卡是主卡,然后通过SubscriptionInfo.getCarrierName()方法获取该主卡的运营商名称。

示例代码片段(伪代码):

TelephonyManager telephonyManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
SubscriptionManager subscriptionManager = (SubscriptionManager) getSystemService(Context.TELEPHONY_SUBSCRIPTION_SERVICE);

List<SubscriptionInfo> subscriptionInfoList = subscriptionManager.getActiveSubscriptionInfoList();
for (SubscriptionInfo subscriptionInfo : subscriptionInfoList) {
    if (subscriptionInfo.isPrimary()) {
        String carrierName = subscriptionInfo.getCarrierName();
        // carrierName即为当前主卡的运营商名称
        break;
    }
}

注意,上述代码基于Android框架的TelephonyManager和SubscriptionManager API,但HarmonyOS有自身API设计,需参考HarmonyOS官方文档调整。如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html。

回到顶部