2010-09-12 2 views

ответ

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" /> 
+0

Один из моих пользователей сообщает, что он использует HTC Evo на спринте, и этот метод не работает. – wangii

+0

Я подтвердил, что этот метод работает на складе Sprint HTC EVO 4G под управлением Android 2.2. – Brian

+0

Я думаю, что это зависит от вашего провайдера, а не от телефона или версии Android, работает ли это. – Carsten

2

Хотя предлагаемый метод может работать, некоторые носители (я считаю, что это их выбор) не дают это число, возвращая нуль вместо этого.

Возвратный нуль указан в документации: http://developer.android.com/reference/android/telephony/TelephonyManager.html (прокрутите вниз до документации метода).

Вот ссылка для возможной работы вокруг: http://code.google.com/p/android/issues/detail?id=1110#c5

 Смежные вопросы

  • Нет связанных вопросов^_^