2017-07-14 75 views
0

我想從一個不同的SIM獲得的手機號碼。雙SIM卡號碼保存在不同的變量中。如何獲得雙SIM卡手機號碼?

有的人給的答案,如:

TelephonyManager tm =(TelephonyManager)getSystemService(TELEPHONY_SERVICE); 
String number = tm.getLine1Number(); 

我也給你許可的清單文件:

<uses-permission android:name="android.permission.READ_PHONE_STATE"/> 

,但它沒有工作,所有的時間number變量給予( 「」)值。所以請給mw提供解決這個問題的方法。

回答

0

如果tm.getLine1Number()返回null或「」嘗試使用tm.getSubscriberId()它總是爲我工作。

String number = tm.getLine1Number(); 
if (number == null || number.equals("")) { 
    number = tm.getSubscriberId(); 
} 

希望這會有所幫助。

+0

主席先生,我沒有得到的手機號碼...... 結果是: - 405868052479493 –

0

您可以22的minSdkVersion通過訂閱管理做到這一點起:)

@Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

     SubscriptionManager mSubscriptionManager = SubscriptionManager.from(getBaseContext()); 
     List<SubscriptionInfo> subscriptions = mSubscriptionManager.getActiveSubscriptionInfoList(); 


     for(SubscriptionInfo subscriptionInfo: subscriptions) { 
      Log.v("SIM", subscriptionInfo.getNumber()); 
     } 


    } 
+0

先生,我不獲得我的手機號碼的價值...... 我有雙SIM卡手機我的第一個SIM卡的迴應是這樣的: - {id = 2,iccId = 89918680400068704945 simSlotIndex = 0 displayName = Jio 4G carrierName = Jio 4G nameSource = 2 iconTint = -16746133 dataRoaming = 0 [email protected] MCC 405 MNC 868 mSubStatus = 1 mNwMode = 9} –

+0

@ShubhamMaheshwari我得到這個問題太,subscriptionInfo.getNumber()返回NULL; – Allen

相關問題