java正在Oreo中获取帐户的设备列表
我尝试使用以下代码获取安卓设备上的帐户列表:
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 );
}
}
}
这段代码适用于我在中试过的所有设备,除了在
小米米注2带Android 8.1
。
起初我认为这是一个“过滤”问题,因为我过去只选择Android帐户,但它根本没有得到任何帐户。
权限管理是正确的,因为我已经在5台设备上试过了,在每个设备上都可以正常工作
# 1 楼答案
您可能必须使用
AccountManager.newChooseAccountIntent()
方法。 检查Android Developer site中的帐户访问和可发现性部分