Я пишу приложение, которое требует получить имя пользователя android username@gmail.com с телефона. Я смотрю класс AccountManager. Это то, что у меня есть в моем коде.
AccountManager accountManager = AccountManager.get(this); Account[] accounts = accountManager.getAccountsByType("com.google"); String email=""; email=accountManager.getUserData(accounts[0], accountManager.KEY_USERDATA);
Тем не менее, я получаю caller uid 10085, который отличается от исключения идентификатора аутентификатора. Кто-нибудь знает, как это сделать?
PS. Мне не нужен пароль или токен аутентификации, мне просто нужно имя пользователя.
У вас есть GET_ACCOUNTS
разрешений GET_ACCOUNTS
в файле манифеста? См. Документы в методе getAccountsByType ():
Этот метод требует, чтобы вызывающий абонент сохранял разрешение GET_ACCOUNTS.
Убедитесь, что ваш манифест приложения имеет следующую строку:
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
Имя пользователя доступно для вас; Просто используйте:
String email = accounts[0].name;