2017-07-14 26 views
0

私は別のシムから携帯電話番号を取得したい。二重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

先生、私は携帯電話番号を得ることはありませんminSdkVersionが22のためのサブスクリプションマネージャを介してこれを行うことができます... 結果は次のとおりです。 - 405868052479493 –

0

あなたは以降:)

@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 iconBitmap = [email protected] mcc 405 mnc 868 mSubStatus = 1 mNwMode = 9} –

+0

@ShubhamMaheshwari私もこの問題を抱えています。subscriptionInfo.getNumber()はnullを返します。 – Allen

関連する問題