我正在尝试检索谷歌帐户的密码,但得到了 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)
=============================================== ==============================
如果有人知道我为什么会遇到这个问题请帮助。 感谢
答案 0 :(得分:1)
就我read this post而言,错误是由于配置不匹配造成的。您需要详细说明
答案 1 :(得分:0)
我不认为(这只是猜测)您可以检索Google帐户密码。 顺便说一句,如果您需要Google帐户密码来验证您服务的用户,我建议您采用另一种方式。获取用户的令牌,并通过安全频道将其传递给服务器。
请在此处查看详细信息: User authentication at your service by using AccountManager token