2017-01-30 60 views
-4
TelephonyManager manager = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE); 
String carrierName = manager.getSimOperatorName(); 

通過使用telephonymanger獲取simone操作名,但我想secondsim操作名。如何獲取Android下面的棒棒糖的第二個simoperatorname

+0

唯一的辦法是分開來寫每一個手機型號代碼,因爲每個製造商都做出了自己的固件修改,以及它們在Google推出之前用於雙卡的自己的API。所以基本上它根本不值得這樣做。 –

回答

0

我希望在Android SDK中不支持多個SIM卡。只有我們可以獲得當前網絡運營商或SIM運營商的名稱,並且如果您沒有SIM卡,結果將是「」。 這將工作,但只對主要運營商 從API 22,現在你可以檢查多張SIM卡。看看Android的文檔:https://developer.android.com/reference/android/telephony/SubscriptionManager.html#getActiveSubscriptionInfoList%28%29

對於API> = 22:

final SubscriptionManager subscriptionManager = SubscriptionManager.from(context); 
    final List<SubscriptionInfo> activeSubscriptionInfoList = subscriptionManager.getActiveSubscriptionInfoList(); 
    for (SubscriptionInfo subscriptionInfo : activeSubscriptionInfoList) { 
     final CharSequence carrierName = subscriptionInfo.getCarrierName(); 
     final CharSequence displayName = subscriptionInfo.getDisplayName(); 
     final int mcc = subscriptionInfo.getMcc(); 
     final int mnc = subscriptionInfo.getMnc(); 
     final String subscriptionInfoNumber = subscriptionInfo.getNumber(); 
    } 

對於API> = 23

TelephonyManager manager = (TelephonyManager)context.getSystemService(Context.TELEPHONY_SERVICE); 
if (manager.getPhoneCount() == 2) { 
    // Dual sim 
}