4

Googleアカウントのパスワードを取得しようとしていますが、String pwd = AccountManager.get(mContext).getPassword(account)でセキュリティ例外が発生しています。また、androidManifest.xmlで、account_manager、aunthenticator、get_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:警告/ AccountManagerService(2248):呼び出し元のuid1000がオーセンティケーターのuidと異なります

08-04 06:38:30.821:INFO / parul(2804):アカウントマネージャーのtryブロックに対して例外がスローされました

08-04 06:38:30.821:WARN / System.err(2804):java.lang.SecurityException:呼び出し元のuid1000がオーセンティケーターのuidと異なります

08-04 06:38:30.821:WARN / System.err(2804):android.os.Parcel.readException(Parcel.java:1218)

08-04 06:38:30.821:WARN / System.err(2804):android.os.Parcel.readException(Parcel.java:1206)

08-04 06:38:30.821:WARN / System.err(2804):android.accounts.IAccountManager $ Stub $ Proxy.getPassword(IAccountManager.java:397)

08-04 06:38:30.821:WARN / System.err(2804):android.accounts.AccountManager.getPassword(AccountManager.java:157)で

================================================== ===========================

誰かが私がこの問題を抱えている理由を知っているなら、plzの助けを借りてください。ありがとう

4

2 に答える 2

1

この投稿を読む限り、エラーは構成の不一致が原因です。詳細を掘り下げる必要があります

于 2010-08-04T08:55:04.883 に答える
0

Google アカウントのパスワードを取得できるとは思いません (推測にすぎません)。ところで、サービスでユーザーを検証するために Google アカウントのパスワードが必要な場合は、これを行う別の方法をお勧めします。ユーザーのトークンを取得し、セキュリティで保護されたチャネルを介してサーバーに渡します。

ここで私の回答の詳細を参照してください: AccountManager トークンを使用したサービスでのユーザー認証

于 2011-07-13T15:59:57.150 に答える