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

simone operatornameを取得するtelephonymangerを使用して、しかし私はsecondsim operatornameが必要です。ロノポップの下に2番目のsimoperatornameを取得する方法

+0

唯一の方法はあるため、別途、すべての電話機モデルのコードを書くことですすべてのメーカーは独自のファームウェアの変更を行い、Googleで導入される前に独自のAPI for dual simを使用していました。だから、基本的にそれをする価値はありません。 –

答えて

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 
} 
関連する問題