1

我正在尝试检索谷歌帐户的密码,但出现安全异常。

我还授予androidManifest.xml了 account_manager、authenticator、get_account、管理帐户的权限。

android.accounts.Account[] googleAccount =
AccountManager.get(mContext).getAccounts();
for (android.accounts.Account account: googleAccount ) {
String pwd = AccountManager.get(mContext).getPassword(account);
AccountManager.get(mContext).setPassword(account, null);
}
4

1 回答 1

5

getPassword()的文档说:

此方法要求调用者持有权限 AUTHENTICATE_ACCOUNTS 并具有与帐户的身份验证器相同的 UID。

我认为这句话的最后一部分对你的情况很重要。您正在尝试获取尚未为其编写Authenticator的帐户的密码。Authenticator 定义了如何对某个服务进行身份验证。只有身份验证器或使用相同 UID 的应用程序才允许调用 getPassword() 方法。通过这一限制,可以确保没有人可以窃取用户的帐户凭据。

于 2011-03-22T10:54:51.427 回答