1

Google アカウントのパスワードを取得しようとしていますが、セキュリティ例外が発生します。

androidManifest.xmlまた、account_manager、aunthenticator、get_account、アカウントの管理にアクセス許可を与えました。

android.accounts.Account[] googleAccount =
AccountManager.get(mContext).getAccounts();
for (android.accounts.Account account: googleAccount ) {
String pwd = AccountManager.get(mContext).getPassword(account);
AccountManager.get(mContext).setPassword(account, null);
}
4

1 に答える 1

5

getPassword()のドキュメントには次のように書かれています。

このメソッドでは、呼び出し元が権限 AUTHENTICATE_ACCOUNTS を保持し、アカウントのオーセンティケーターと同じ UID を持っている必要があります。

あなたの場合、文の最後の部分が重要だと思います。Authenticatorを作成していないアカウントのパスワードを取得しようとしています。Authenticator は、特定のサービスに対する認証方法を定義します。同じ UID を使用するオーセンティケータまたはアプリケーションのみが getPassword() メソッドを呼び出すことができます。この制限により、誰もユーザーのアカウント資格情報を盗むことができないことが保証されます。

于 2011-03-22T10:54:51.427 に答える