Почему я не могу получить номер мобильного телефона SIM-карты из Дании?

Чтобы получить номер мобильного телефона пользователя, я делаю следующее:

TelephonyManager tm = (TelephonyManager) getSystemService(TELEPHONY_MANAGER);
String mobileNumber = tm.getLine1Number();

Этот метод работает в 100% случаев на Филиппинах, где SIM-карты в основном предоплачены. Если вам нужно изменить свой номер, вы просто покупаете новый. Однако в Дании я всегда ничего не получаю. Почему это? И есть ли способ получить номер мобильного пользователя, кроме этого?


person MLQ    schedule 16.10.2012    source источник


Ответы (1)


Ваш номер телефона хранится в памяти SIM-карты (здесь я не говорю о памяти контактов). Это зависит от производителя SIM-карты, добавляют ли они номер на вашу SIM-карту или нет. Таким образом, может быть вероятность, что ваша SIM-карта не содержит номер.

Чтобы решить эту проблему, вам нужно вручную определить свой номер телефона в SIM-карте. Возьмите любой старый телефон SonyEricsson или iPhone, зайдите в настройки SIM-карты (в зависимости от модели телефона) и укажите свой номер для SIM-карты. Как только это будет сделано, ваш код сможет прочитать его с SIM-карты.

Возможно, я использую SIM-карту Tre-Sverige, на которой также не был сохранен номер телефона, но после выполнения описанной выше процедуры я теперь могу прочитать номер.

person waqaslam    schedule 16.10.2012
comment
Я понимаю. Ну, я не могу попросить пользователя моего приложения определить номер SIM-карты с каким-то другим телефоном, так что я должен просто попросить ввести его вручную? - person MLQ; 16.10.2012