2017-07-21 19 views
1

どのようにアンドロイドスタジオで携帯電話の番号を取得するには?私はこのコードを使用して私の携帯電話番号を取得しようとしますが、戻り値は空白です。アンドロイドスタジオでモバイル番号を取得するには?

TelephonyManager tpm = (TelephonyManager)getSystemService(TELEPHONY_SERVICE); 
String number = tpm.getLine1Number(); 
+0

権限を追加しましたか? – coderaizer

+0

また、権限を追加します。 – user8339581

+0

あなたが試しているAndroidのバージョンは何ですか? – coderaizer

答えて

1

これはhttps://developer.android.com/reference/android/telephony/TelephonyManager.html

getLine1Number

ストリングgetLine1Number(に関連documantationである)は、GSM携帯電話の回線1の電話番号の文字列、例えば 、MSISDNを返します。 が利用できない場合はnullを返します。

デフォルトのSMSアプリでもこれを使用できます。

READ_PHONE_STATE、READ_SMS、またはREAD_PHONE_NUMBERS 権限が必要です。

また、Android 6.0以降を使用している場合は、次のコードを追加してください。 このコードは、アプリがユーザーの連絡先を読み取る権限を持っているかどうか、または必要に応じてユーザーから許可を要求していないかどうかをチェックします。試してみてください

// Here, thisActivity is the current activity 
if (ContextCompat.checkSelfPermission(thisActivity, 
      Manifest.permission.READ_CONTACTS) 
    != PackageManager.PERMISSION_GRANTED) { 

// Should we show an explanation? 
if (ActivityCompat.shouldShowRequestPermissionRationale(thisActivity, 
     Manifest.permission.READ_CONTACTS)) { 

    // Show an expanation to the user *asynchronously* -- don't block 
    // this thread waiting for the user's response! After the user 
    // sees the explanation, try again to request the permission. 

} else { 


    ActivityCompat.requestPermissions(thisActivity, 
      new String[]{Manifest.permission.READ_CONTACTS}, 
      MY_PERMISSIONS_REQUEST_READ_CONTACTS); 

} 
} 
関連する問題