这仅用于测试目的。我没有把它构建成一个应用程序。
我正在尝试记录所有用户保存的帐户和密码
AccountManager accountManager = AccountManager.get(this);
for(Account account : accountManager.getAccounts())
{
System.out.println(account.name + " : " + accountManager.getPassword(account));
}
但我收到错误
E / AndroidRuntime(11944):java.lang.SecurityException:调用者uid XXXXX与身份验证者的uid不同
我已阅读this question但它并没有真正解释如何解决这个问题,只是为了避免它,至少我是这么认为的。
有没有解决这个问题的方法?
提前致谢
答案 0 :(得分:2)
发生这种情况是因为您无法以这种方式获取设备的帐户。 这仅适用于您之前将帐户添加到AccountManager,并且您希望稍后检索它。
这就是为什么告诉你没有得到正确许可的原因。
要知道设备中添加的帐户应使用,例如:
AccountManager accountManager = AccountManager.get(this);
Account[] accounts = accountManager.getAccounts();
accountManager.getUserData(accounts[0], AccountManager.KEY_USERDATA);
希望它有所帮助。