我正在编写针对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/

10-12 01:24