如何从API等级为16的双卡手机Android获取运营商名称?

时间:2017-01-01 18:50:17

标签: java android telephony telephonymanager

我正在创建一个最低版本为sdk 16的应用程序。我的问题是如何在双卡手机中获取这两家运营商的运营商名称。

我使用了这段代码,但它使用了sdk v16

TelephonyManager telephonyManager = ((TelephonyManager) mContext.getSystemService(Context.TELEPHONY_SERVICE));

而且我想以字符串格式获取运营商的名称。

1 个答案:

答案 0 :(得分:0)

API 22中提供了

SubscriptionManager

使用以下代码获取双卡手机的运营商名称

SubscriptionManager subscriptionManager = (SubscriptionManager) getSystemService(Context.TELEPHONY_SUBSCRIPTION_SERVICE);
    List<String> carrierNames = new ArrayList<>();
    if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.LOLLIPOP_MR1) {
        List<SubscriptionInfo> subscriptionInfos = subscriptionManager.getActiveSubscriptionInfoList();
        for (int i = 0; i < subscriptionInfos.size(); i++) {
            carrierNames.add(subscriptionInfos.get(i).getCarrierName().toString());
        }
    }