问题
How to get cell phone number in android ? Here is code. but it's not working
TelephonyManager tm = (TelephonyManager)this.getSystemService(this.TELEPHONY_SERVICE);
String mobileno = tm.getLine1Number();
can anyone help me to solve this.
回答1:
You can use these lines of code to fetch cell phone numbers from your phone contacts picker.
try {
Intent i = new Intent(Intent.ACTION_PICK,ContactsContract.CommonDataKinds.Phone.CONTENT_URI);
startActivityForResult(i, PICK_CONTACT);
Toast.LENGTH_SHORT).show();
} catch (Exception e) {
Log.d("TAG", "Pick Contact ERROR" + e.toString());
}
and use OnActivityResult to get contacts and save it anywhere you want (Like this)
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == PICK_CONTACT && resultCode == RESULT_OK) {
Uri contactUri = data.getData();
cursor = getContentResolver().query(contactUri, null, null, null, null);
cursor.moveToFirst();
String PhoneNumber = cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
String ContactName = cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME)));
回答2:
You can try below code:
TelephonyManager tMgr = (TelephonyManager)mAppContext.getSystemService(Context.TELEPHONY_SERVICE);
String number = tMgr.getLine1Number();
And for this code to work you need Permission:
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
来源:https://stackoverflow.com/questions/35810647/how-to-get-cell-phone-number-in-android