当我执行以下getAuthToken()方法调用时,
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 :(得分:0)
试试这个:
AccountManager googleAccountManager = AccountManager.get(this);
final Account[] accounts = googleAccountManager.getAccountsByType("com.google");
这将为您提供设备上的一系列Google帐户