Есть ли способ получить номер телефона пользователя в мобильном приложении? - PullRequest
0 голосов
/ 04 августа 2010

Есть ли способ получить номер телефона пользователя в мобильном приложении?Я собираюсь создать какую-то утилиту для адресной книги, которая создает телефонные номера и позволяет им набирать номера и т. Д., Используя свой текущий телефонный номер.Есть ли способ получить эту информацию?

Я нашел несколько способов получить его в ежевике и андроиде с сим-карты, но, очевидно, значение в сим-карте не гарантирует, что это фактически их число.

Ответы [ 2 ]

3 голосов
/ 04 августа 2010

Вы можете использовать TelephonyManager, чтобы сделать это:

TelephonyManager tm = (TelephonyManager)getSystemService(TELEPHONY_SERVICE); 
String number = tm.getLine1Number();

В документации для getLine1Number() говорится, что этот метод вернет null, если число «недоступно», но не говорит, когда число может быть недоступно.

Вам необходимо дать приложению разрешение на выполнение этого запроса , добавив в свой манифест следующее:

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

(Вы не должны использовать TelephonyManager.getDefault(), чтобы получить TelephonyManager как , который является частным недокументированным вызовом API и может измениться в будущем .)

2 голосов
/ 05 августа 2010

Для ежевики вы можете использовать

Phone.getDevicePhoneNumber(false)

Согласно javadoc, этот метод может возвращать ноль, если в настоящее время номер телефона недоступен

Существует один общий способ получения номера мобильного телефона пользователя.

  1. Позволяет пользователю вводить номер своего мобильного телефона.Предположим, он вводит 123456789
  2. Отправьте смс на этот номер на любой порт (не 0).Например, отправьте смс на номер 123456789 через порт 5001.
  3. для ежевики
    Запустите поток прослушивания фонового сообщения
    Для Nokia, Samsung и т. Д.
    зарегистрировать динамический push-реестр на порту 5001.
  4. При получении сообщения вроде.Номер отправителя = номер получателя = какой пользователь дал свой номер.
  5. Номер пользователя подтвержден.
...