2

我想知道在哪些情况下应用程序可以在使用时返回一个空数组

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

并返回一个空值(或空指针异常)

我问是因为我的应用程序仅在 google play 商店中可用,所以他们需要一个 google 帐户才能访问它。那么如果应用程序是从 Play 商店下载的(除非他们侧加载它),那么 accountmanager 怎么能不返回类型为 com.google 的帐户。

同样,问题是什么情况会导致 am.getAccountsByType("com.google") 返回空值或空指针异常。

4

1 回答 1

2

试试下面的代码来检查谷歌帐户是否存在。我在我的应用程序中使用它来检查帐户是否存在。这行得通。

public static boolean isGoogleAccountPresent() {

        AccountManager manager = AccountManager.get(context);
        for(Account account : manager.getAccounts()) {
            if("com.google".equals(account.type)) {
                return true;
            }
        }
        return false;
}
于 2013-09-18T15:13:02.287 回答