如何从 API 级别 16 的双卡 phone Android 获取运营商名称?

How to get carrier name from dual sim phone Android with API level 16?

我正在创建一个具有最低 sdk 版本的应用程序 16.My 问题是如何在双 sim 卡中获取两个运营商的运营商名称 phone。

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

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

我还想获取字符串格式的承运人名称。

SubscriptionManager 可用于 API 22

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

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