Получить программный код программно - Android
Можно ли получить программный номер каждого устройства программно?
Я пробовал этот код:
TelephonyManager manager =(TelephonyManager)mAppContext.getSystemService(Context.TELEPHONY_SERVICE);
mPhoneNumber = manager.getLine1Number();
Это отлично работает с некоторыми провайдерами. К сожалению, это не работает с каждым провайдером. Поэтому я ищу трюк или работу, чтобы получить номер телефона устройства. Есть ли решение или это невозможно, потому что номер не сохраняется на SIM-карте?
Ответы
Ответ 1
Используемый вами метод является единственной частью SDK для этого и работает только на устройствах, где номер хранится на SIM-карте, что делают только некоторые операторы. Для всех других носителей вам нужно будет попросить пользователя ввести номер телефона вручную, так как номер просто не сохраняется в любом месте устройства, откуда вы можете его получить.
Ответ 2
@Raghav прав, из-за моего предложения, вы должны использовать Shared Preference, чтобы сначала сохранить номер телефона пользователя, когда приложение открыто, и после этого номер пользователя будет использоваться, когда вам нужно приложение.
Ответ 3
Вы можете попытаться отправить определенное SMS-сообщение для интернет-провайдера.
Например, в Пекине (Китай), когда вы отправляете SMS "501" до 10001, вы получите свой номер телефона в полученном сообщении.
Затем вам нужно только знать, как отправить SMS и зарегистрировать BroadcastReceiver для получения сообщения.
Ответ 4
существует другой подход, которому нужен номер панели SMS, такой как 5000, 3000 или т.д.
сначала создайте уникальный идентификатор для своего приложения, чтобы хранить его в своей базе данных, затем
когда основной запуск активности отправляет текстовое сообщение на вашу панель SMS с идентификатором приложения в сообщении, а затем в веб-программировании, когда вы получили номер отправителя SMS-сообщения с его идентификатором, а затем обратно в приложение отправите запрос с идентификатором на ваш веб-сайт, чтобы получить (например, Http или доступ непосредственно к базе данных web sql) номер телефона, который хранится с этим Id