Получить текущий номер мобильного телефона пользователя в моем приложении Android

Не прося пользователей вводить свои номера мобильных телефонов, я хочу получить текущий номер мобильного телефона, связанный с этим мобильным телефоном, чтобы я мог отправлять конкретные сообщения о сделках и предложениях, доступных в определенном месте или стране, путем получения номера мобильного телефона, когда мое приложение установлено в первый раз. Возможно ли это в Android? Будут ли какие-либо проблемы, связанные с этим, если я смогу собирать номера мобильных телефонов пользователей? Я хотел бы более серьезно об этом. Поэтому комментарии и ответы на мой вопрос крайне приветствуются. Поскольку я не знаю, с чего начать, приветствуются также любые учебные пособия или связанные с ними ссылки.

2 ответа

Решение
TelephonyManager mManager =(TelephonyManager)mContext.getSystemService(Context.TELEPHONY_SERVICE);
String mPhoneNumber =  mManager.getLine1Number();

// check if mPhoneNumber is null then there is no number saved in the phone.

и установить в манифесте

<uses-permission android:name="android.permission.READ_PHONE_STATE" />

и дальше читаем тут

Надеюсь, поможет:)

Ответ Spurdow является правильным, но работает, только если номер доступен в системе. Не все страны и / или операторы беспроводной связи поддерживают это. Я проверил чтение номера телефона, и он правильно дал мой номер мобильного телефона в США, тогда как номер телефона друга в Турции не вернулся. Поэтому спланируйте свой код соответствующим образом (т. Е. Проверьте возможный нулевой результат, спросите номер телефона у пользователя и т. Д.). Для получения дополнительной информации: https://developer.android.com/reference/android/telephony/TelephonyManager.html

Другие вопросы по тегам