我正在使用以下方法检索GoogleAccountCredential对象:
GoogleAccountCredential credential = GoogleAccountCredential.usingOAuth2(
context, Arrays.asList({ GmailScopes.MAIL_GOOGLE_COM }))
.setBackOff(new ExponentialBackOff())
.setSelectedAccountName(email)
电子邮件是我在设备上使用的Gmail帐户。
如果我使用credential.getSelectedAccountName检索帐户名,则结果为空。
这仅在运行Android Marshmallow的设备上发生,并且仅在应用程序没有“联系人”权限时才会发生。一旦我授予“联系人”权限,一切正常。
为什么GoogleAccountCredential.setSelectedAccountName(String)需要“联系”权限?这是一个错误还是一个功能?
答案 0 :(得分:5)
"联系人权限组"是必需的,因为getselectedaccountname所需的get_account权限分组在联系人下。
根据https://developer.android.com/guide/topics/security/permissions.html#normal-dangerous