【发布时间】:2011-11-30 04:25:43
【问题描述】:
我正在为 Android 编写一个 GMail 客户端。我想在 ListView 中列出所有 GMail 帐户。当用户点击某一项时,我想让程序找回对应账号的密码。
但是,我得到了一个 SecurityException:
java.lang.SecurityException: caller uid 10107 is different than the authenticator's uid
这是我的代码:
AccountManager accountManager = AccountManager.get(context);
this.username = account.name;
this.password = accountManager.getPassword(account); //this is where I get the exception
我在 AndroidManifest.xml 中拥有所有这些权限:
<uses-permission android:name="android.permission.AUTHENTICATE_ACCOUNTS"></uses-permission>
<uses-permission android:name="android.permission.GET_ACCOUNTS"></uses-permission>
<uses-permission android:name="android.permission.MANAGE_ACCOUNTS"></uses-permission>
<uses-permission android:name="android.permission.USE_CREDENTIALS"></uses-permission>
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
根据Android reference,唯一需要的权限应该是MANAGE_ACCOUNTS。
我的代码有什么问题?
【问题讨论】:
标签: android exception passwords accountmanager