我在应用程序中生成第二个令牌时遇到问题。我在手机上注册了两个账户。当我使用第一个帐户令牌时,正在生成,但当我选择第二个令牌时,不会生成。我的代码:
accountManager.getAuthTokenByFeatures("com.google", "Manage your tasks", null, this,
Bundle.EMPTY, Bundle.EMPTY, new AccountManagerCallback<Bundle>() {
@Override
public void run(AccountManagerFuture<Bundle> bundleAccountManagerFuture) {
try {
String token = bundleAccountManagerFuture.getResult()
.getString(AccountManager.KEY_AUTHTOKEN);
Log.e("token", token);
} catch (AuthenticatorException e) {
e.printStackTrace();
} catch (OperationCanceledException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}, null);
我得到以下错误:
android.accounts.AuthenticatorException:未知android.accounts.AccountManager.covertErrorToException(AccountManager.java:1726)android.accounts.AccountManager.access$400(AccountManager.java:144)android.accounts.AccountManager$AmsTask$Response.onError(AccountManager.java:1572)android.accountManagerResponse$Stub.onTransact(IAccountManagerResponse.java:69)android.os.Binder.execTransact(Binder.java:407)dalvik.system.NativeStart.run(本机方法)
getAuthTokenByFeatures
中的第二个参数应该是有效的范围(例如:oauth2:https://gdata.youtube.com
)