私はAndroid用のGMailクライアントを書いています。ListViewにすべてのGMailアカウントを一覧表示したい。ユーザーが1つの項目をクリックしたときに、対応するアカウントのパスワードをプログラムに取得させたい。
ただし、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のリファレンスによると、必要な権限はMANAGE_ACCOUNTSのみです。
私のコードの問題は何ですか?