2017-01-31 6 views
0

私はユーザーの電話番号を取得する方法を知っていますが、ユーザーの電話はデュアルSIMだとしましょう。両方の電話番号を取得する方法はありますか?現在、有効な電話番号のみを取得しています。デュアルSIMデバイスから両方の電話番号を取得するにはどうすればよいですか?

+0

はこれをチェックしてくださいhttp://stackoverflow.com/questions/13472951/get-both-sim-:

このAPIを注意してくださいだけで例のコードを追加するAPIレベル22

からサポートされていますデュアルシムアンドロイド携帯電話 – vinod

答えて

2

実際にSIMカードに電話番号が格納されている場合は、SubscriptionManager API(https://developer.android.com/reference/android/telephony/SubscriptionManager.html)を使用して、各SIMカードの購読の詳細を取得できます。

あなたはリストを返します

  • getActiveSubscriptionInfoList()を呼び出すことができます。あなたのケースでは、挿入2枚のSIMカードが存在する場合、それは2つのサブスクリプションに関する情報購読情報で
  • を返す必要があります、あなたは数

を取得するためにはgetNumber()API(https://developer.android.com/reference/android/telephony/SubscriptionInfo.html#getNumber())を呼び出すことができますし、このためにそれを注意してくださいSIMカードに電話番号が記載されている必要があります。

if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.LOLLIPOP_MR1) { 
      SubscriptionManager subscriptionManager = SubscriptionManager.from(getApplicationContext()); 
      List<SubscriptionInfo> subsInfoList = subscriptionManager.getActiveSubscriptionInfoList(); 

      Log.d("Test", "Current list = " + subsInfoList); 

      for (SubscriptionInfo subscriptionInfo : subsInfoList) { 

       String number = subscriptionInfo.getNumber(); 

       Log.d("Test", " Number is " + number); 
      } 
     } 
+0

お返事ありがとうございました。私は今これを試してみる –

関連する問題