的AccountManager getAuthToken()抛出java.lang.IllegalArgumentException异常:没有这样的帐户

问题描述:

当我做了以下getAuthToken()方法调用,的AccountManager getAuthToken()抛出java.lang.IllegalArgumentException异常:没有这样的帐户

final AccountManagerFuture<Bundle> future = AccountManager.get(this) 
       .getAuthToken(account, authTokenType, null, this, null, null); 

它在设备上正常工作,但它抛出:IllegalArgumentException - 在模拟器上。

01-21 02:39:41.660: E/AndroidRuntime(1143): java.lang.IllegalArgumentException: no such account 
01-21 02:39:41.660: E/AndroidRuntime(1143):  at android.os.Parcel.readException(Parcel.java:1465) 
01-21 02:39:41.660: E/AndroidRuntime(1143):  at android.os.Parcel.readException(Parcel.java:1415) 
01-21 02:39:41.660: E/AndroidRuntime(1143):  at android.accounts.IAccountManager$Stub$Proxy.getAuthToken(IAccountManager.java:929) 
01-21 02:39:41.660: E/AndroidRuntime(1143):  at android.accounts.AccountManager$5.doWork(AccountManager.java:923) 
01-21 02:39:41.660: E/AndroidRuntime(1143):  at android.accounts.AccountManager$AmsTask.start(AccountManager.java:1472) 
01-21 02:39:41.660: E/AndroidRuntime(1143):  at android.accounts.AccountManager.getAuthToken(AccountManager.java:921) 

我在Manifest文件中添加了所有必需的权限。

+0

检查这个环节上,希望这可以帮助你 - http://blog.notdot.net/2010/05 /身份验证 - 针对应用内-引擎从 - 一个功能的Android应用内 –

试试这个:

AccountManager googleAccountManager = AccountManager.get(this); 
final Account[] accounts = googleAccountManager.getAccountsByType("com.google"); 

这会给你的谷歌账户阵列设备