我想知道在使用
时应用程序返回空数组的情况AccountManager am = AccountManager.get(this);
Accoun[] accounts = am.getAccountsByType("com.google");
return accounts[0].name
并返回null(或空指针异常)
我问,因为我的应用程序只在谷歌游戏商店中可用,所以他们需要一个谷歌帐户才能访问它。 那么,如果应用程序是从Play商店下载的,那么accountmanager如何不返回com.google类型的帐户(除非他们一边加载它)。
同样,问题是哪些方案会导致am.getAccountsByType(“com.google”)返回null或空指针异常。
答案 0 :(得分: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;
}