Как я могу получить имя (или полное имя) пользователя телефона?

Есть ли способ получить имя или полное имя пользователя? Я имею ввиду пользователя телефона

это требует специальных разрешений манифеста?

3 ответа

Решение

Да, начиная с ICS, вы можете прочитать профиль владельца устройства (для чего требуется разрешение READ_PROFILE):

http://developer.android.com/reference/android/provider/ContactsContract.Profile.html

В частности, столбец DISPLAY_NAME должен иметь свое имя. Или вы можете найти элемент данных StructuredName, чтобы получить их GIVEN_NAME:

http://developer.android.com/reference/android/provider/ContactsContract.CommonDataKinds.StructuredName.html

Что именно ты имеешь ввиду? Вы можете получить доступ к имени несколькими способами:

  1. Вы можете попытаться получить доступ к их информации, хранящейся в учетной записи Google, требуя GET_ACCOUNTS разрешение
  2. Вы можете, как предложил Vinayak.B, попытаться собрать информацию из контактов, требуя READ_CONTACTS и READ_PHONE_STATE разрешение, хотя я думаю, что это вариант "ударить или пропустить".
  3. Также есть READ_PROFILE разрешение, которое, я думаю, является интересным способом, но у меня нет никакого опыта с этим, поэтому я не могу сказать вам, является ли это плодотворным предприятием или нет.

Я бы попробовал GET_ACCOUNTS вариант, так как они должны иметь учетную запись Google, чтобы загрузить ваше приложение. Это также кажется немного менее агрессивным для меня

Я действительно надеюсь, что это ответит на ваш вопрос, но если это не так, вам действительно нужно предоставить больше информации.

Вы имеете в виду из списка контактов устройства? если да, получите исходный код и какое разрешение здесь: http://tutorials-android.blogspot.in/2011/11/how-to-call-android-contacts-list.html

Другие вопросы по тегам