Dharmesh Dhameliya
Dharmesh Dhameliya

Reputation: 174

How to get cell phone number in android?

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.

Upvotes: 0

Views: 2596

Answers (2)

Vishal Chugh
Vishal Chugh

Reputation: 123

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)));

Upvotes: 1

Android Geek
Android Geek

Reputation: 9225

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"/> 

Upvotes: 0

Related Questions