我正在编写针对Lollipop及更高版本的应用程序。这是我的第一个Android应用。
我正在尝试获取与设备关联的所有帐户的列表。这是我的代码:
public void getAllContactsAccounts(Context context){
AccountManager accountManager = (AccountManager) context.getSystemService(Context.ACCOUNT_SERVICE);
Account[] accounts = accountManager.getAccounts();
System.out.println("PrintingAccounts: " + accounts.length);
for(Account a : accounts){
System.err.println("AccountName: " + a.name);
}
}
accountManager.getAccounts()
中的数组最终的长度为0,并且什么也没有发生。我不知道如何解决此问题。我已经添加了必要的权限(以及其他一些权限),没有发生安全异常,该应用程序运行良好,但似乎无法检索到该帐户。
关于我在这里可以做什么的任何建议?
最佳答案
从Android 8.0开始,GET_ACCOUNTS不再足以访问设备上的帐户。
基于documentation:
您可以检查此link以了解AccountManager.newChooseAccountIntent()
的用法
关于android - Android:AccountManager.getAccounts()返回一个空数组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35050548/