2010-08-04 7 views
4

J'essaie de récupérer le mot de passe de compte google, mais obtenir exception de sécurité à la chaîne pwd = AccountManager.get (mContext) .getPassword (compte). J'ai également donné des permissions dans androidManifest.xml à account_manager, aunthenticator, get_account, gérer le compte.SecurityException dans getPassword de accountManager dans android

code:

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); 
} 

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

Exception:

08-04 06: 38: 30,821: WARN/AccountManagerService (2248): l'appelant uid 1000 est différent de celui uid

08-04 06 de l'authentificateur: 38: 30,821: INFO/parul (2804): exception levée pour accoun t gestionnaire essayer bloc

08-04 06: 38: 30,821: WARN/System.err (2804): java.lang.SecurityException: appelant uid 1000 est différent de celui UID authentificateur

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

08-04 06: 38: 30.821: WARN/System.err (2804): au 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)

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

Si quelqu'un est au courant pourquoi je reçois ce problème plz aide. Merci

Répondre

1

En ce qui concerne I read this post, l'erreur est due à la configuration de discordance. Vous devez déduire dans les détails

0

Je ne pense pas (ce n'est qu'une supposition), vous pouvez récupérer le mot de passe du compte Google. BTW, si vous avez besoin de mot de passe de compte Google pour valider l'utilisateur à votre service, je suggère une autre façon de le faire. Obtenir le jeton de l'utilisateur et le transmettre au serveur sur sécurisé canal.

Voir les détails dans ma réponse ici: User authentication at your service by using AccountManager token

Questions connexes