2013-09-18 2 views
2

Я задаюсь вопросом, в каких случаях может приложение возвращать пустой массив при использованииМенеджер по возвращении пустым com.google

AccountManager am = AccountManager.get(this); 
Accoun[] accounts = am.getAccountsByType("com.google"); 
return accounts[0].name 

и возвращают нуль (или исключения нулевого указателя)

Я спрашиваю потому что мое приложение доступно только в игровом магазине google, поэтому для доступа к нему требуется учетная запись google. Так как учетщик не может вернуть учетные записи типа com.google, если приложение было загружено из магазина воспроизведения (если только они не загрузили его).

Опять же, вопрос в том, какие сценарии приведут к тому, что am.getAccountsByType ("com.google") вернет исключение null или null.

+1

Я думаю, что ключ здесь «если они не загружают его». Кроме того, возможно установить приложение из Play Маркета, а затем удалить свою учетную запись Google, хотя я этого не пробовал. – CommonsWare

+0

@CommonsWare Я думал, что если они удалили основную учетную запись Google, они также удалили приложения, которые пришли с ней? – Raigex

+0

@CommonsWare Я не знаю, приведет ли это к различию, но возможно ли, что тип учетной записи пользователя будет отличаться, если у них есть учетная запись gmail, такая как [email protected]? – Raigex

ответ

2

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

public static boolean isGoogleAccountPresent() { 

     AccountManager manager = AccountManager.get(context); 
     for(Account account : manager.getAccounts()) { 
      if("com.google".equals(account.type)) { 
       return true; 
      } 
     } 
     return false; 
} 
+0

О да, у меня есть код вроде этого уже присутствующего, я просто получаю нулевой указатель в другом месте, когда я пытаясь выполнить md5 учетную запись, и она падает там. Мой вопрос в основном касается информации о том, когда учетные записи com.google могут быть пустыми и содержать мои учетные записи в Google Play. – Raigex

+0

Вы указали требуемое разрешение на доступ к информации? –

+0

есть. Он работает на всех устройствах с учетной записью Google Play. Поскольку в моем вопросе говорится, что я не ищу, как получить учетную запись. Я рассматриваю сценарии, которые заставляют его возвращать значение null для учетных записей google. – Raigex

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