android中accountManager的getPassword中的SecurityException

时间:2010-08-04 08:40:30

标签: android google-account accountmanager getpasswd

我正在尝试检索谷歌帐户的密码,但得到了 String的安全异常pwd = AccountManager.get(mContext).getPassword(account)。 我也在androidManifest.xml中给予了权限 account_manager,aunthenticator,get_account,manage account。

代码:

android.accounts.Account[] gaccounts = AccountManager.get(mContext).getAccounts();
Log.i("parul", "2222()len :"+ gaccounts.length);
for (android.accounts.Account account: gaccounts) {
   String pwd = AccountManager.get(mContext).getPassword(account);
   Log.i("parul", "google pwd: " + pwd);
   AccountManager.get(mContext).setPassword(account, null);
   String pwdcleared = AccountManager.get(mContext).getPassword(account);
   Log.i("parul", "google pwdcleared: " + pwdcleared);
}

=============================================== ==============================

例外:

08-04 06:38:30.821:WARN / AccountManagerService(2248):caller uid 1000 与认证者的uid不同

08-04 06:38:30.821:INFO / parul(2804):为帐户抛出异常 经理尝试阻止

08-04 06:38:30.821:WARN / System.err(2804):java.lang.SecurityException:调用者uid 1000与 验证者的uid

08-04 06:38:30.821:WARN / System.err(2804):at android.os.Parcel.readException(Parcel.java:1218)

08-04 06:38:30.821:WARN / System.err(2804):at android.os.Parcel.readException(Parcel.java:1206)

08-04 06:38:30.821:WARN / System.err(2804):at android.accounts.IAccountManager $存根 $ Proxy.getPassword(IAccountManager.java:397)

08-04 06:38:30.821:WARN / System.err(2804):at android.accounts.AccountManager.getPassword(AccountManager.java:157)

=============================================== ==============================

如果有人知道我为什么会遇到这个问题请帮助。 感谢

2 个答案:

答案 0 :(得分:1)

就我read this post而言,错误是由于配置不匹配造成的。您需要详细说明

答案 1 :(得分:0)

我不认为(这只是猜测)您可以检索Google帐户密码。 顺便说一句,如果您需要Google帐户密码来验证您服务的用户,我建议您采用另一种方式。获取用户的令牌,并通过安全频道将其传递给服务器。

请在此处查看详细信息: User authentication at your service by using AccountManager token