Метод 1:
TelephonyManager tMgr = (TelephonyManager)mAppContext.getSystemService(Context.TELEPHONY_SERVICE);
String mPhoneNumber = tMgr.getLine1Number();
С ниже разрешения
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
Метод 2:
Существует еще один способ, которым Вы сможете получить свой номер телефона, я не тестировали это на нескольких устройствах, но выше код не работает каждый раз.
Try ниже код:
String main_data[] = {"data1", "is_primary", "data3", "data2", "data1", "is_primary", "photo_uri", "mimetype"};
Object object = getContentResolver().query(Uri.withAppendedPath(android.provider.ContactsContract.Profile.CONTENT_URI, "data"),
main_data, "mimetype=?",
new String[]{"vnd.android.cursor.item/phone_v2"},
"is_primary DESC");
if (object != null) {
do {
if (!((Cursor) (object)).moveToNext())
break;
String s1 = ((Cursor) (object)).getString(4);
} while (true);
((Cursor) (object)).close();
}
Вам нужно будет добавить эти два разрешения.
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.READ_PROFILE" />
Надеюсь, это поможет, Спасибо!
возможно дубликат [Программным получить номер телефона Android телефона] (http://stackoverflow.com/questions/2480288/programmatically-obtain-the-phone-number-of-the-android-phone) – bluish