在奥利奥获取帐户的设备列表

时间:2018-03-05 22:37:58

标签: java android google-api user-accounts

我尝试使用以下代码在Android设备上获取帐户列表:

listOfAccounts    =   new ArrayList();
Pattern gmailPattern = Patterns.EMAIL_ADDRESS;
Account[] accounts = AccountManager.get(this).getAccounts();
for (int x = 0; x < accounts.length; x++)
{
    if ( gmailPattern.matcher( accounts[ x ].name ).matches() )
    {
        if ( !_inArray( listOfAccounts, accounts[ x ].name ) )
        {
            listOfAccounts.add( accounts[ x ].name );
        }
    }
}

此代码适用于我在中尝试的每个设备,但除外 Xiaomi Mi Note 2 Android 8.1。 起初我以为它是一个&#34;过滤器&#34;问题,因为我以前只选择Android帐户,但它根本没有任何帐户。 权限得到了正确管理,因为我已经尝试了5台设备,并且每个人都可以正常使用。

1 个答案:

答案 0 :(得分:0)

您可能必须使用AccountManager.newChooseAccountIntent()方法。 检查Android Developer site

中的帐户访问权限和可发现性部分