Gab*_*iel 5 passwords android exception accountmanager
我正在为Android编写GMail客户端.我想在ListView中列出所有GMail帐户.当用户单击一个项目时,我希望程序检索相应帐户的密码.
但是,我得到一个SecurityException:
java.lang.SecurityException: caller uid 10107 is different than the authenticator's uid
Run Code Online (Sandbox Code Playgroud)
这是我的代码:
AccountManager accountManager = AccountManager.get(context);
this.username = account.name;
this.password = accountManager.getPassword(account); //this is where I get the exception
Run Code Online (Sandbox Code Playgroud)
我在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>
Run Code Online (Sandbox Code Playgroud)
根据Android参考,唯一需要的权限应该是MANAGE_ACCOUNTS.
我的代码有什么问题?
您可以获得 authtoken,但无法获得用户的实际凭据。实际的积分只能由创建它们的应用程序访问。从 getPassword 方法的文档(强调我的):
此方法要求调用者拥有 AUTHENTICATE_ACCOUNTS 权限,并具有与帐户的 authenticator 相同的 UID。
| 归档时间: |
|
| 查看次数: |
5488 次 |
| 最近记录: |