TelephonyManager.getLine1Number() работает на телефонах GSM, но не на телефонах CDMA. Возможно ли получить телефонный номер телефона CDMA через вызовы API Android? спасибоКак получить номер телефона телефона Android CDMA?
2
A
ответ
0
Я успешно использовал следующее на Motorola Droid и HTC EVO 4G, которые являются одновременно CDMA.
TelephonyManager telephonyManager = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
String phoneNumber = telephonyManager.getLine1Number();
Убедитесь, что вы запрашиваете правильное разрешение в манифесте.
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
2
Хотя предлагаемый метод может работать, некоторые носители (я считаю, что это их выбор) не дают это число, возвращая нуль вместо этого.
Возвратный нуль указан в документации: http://developer.android.com/reference/android/telephony/TelephonyManager.html (прокрутите вниз до документации метода).
Вот ссылка для возможной работы вокруг: http://code.google.com/p/android/issues/detail?id=1110#c5
Один из моих пользователей сообщает, что он использует HTC Evo на спринте, и этот метод не работает. – wangii
Я подтвердил, что этот метод работает на складе Sprint HTC EVO 4G под управлением Android 2.2. – Brian
Я думаю, что это зависит от вашего провайдера, а не от телефона или версии Android, работает ли это. – Carsten