我正在使用 AccountManager 在 Android 上保存我的应用程序帐户,并希望在设备上保存身份验证令牌。每次我登录并执行 addAccountExplicitly 时都会添加我的应用程序帐户,但 setAuthToken 不起作用,直到我再次登录并再次 setAuthToken 。下面是我添加帐户和设置 authToken 的代码
String accountName = authIntent.getStringExtra(AccountManager.KEY_ACCOUNT_NAME);
String accountType = authIntent.getStringExtra(AccountManager.KEY_ACCOUNT_TYPE);
String accountPass = authIntent.getStringExtra(Constants.ACCOUNT_PASS);
String accntAuthToken = authIntent.getStringExtra(AccountManager.KEY_AUTHTOKEN);
Account resilincAccount = new Account(accountName, Constants.ACCOUNT_TYPE);
AccountManager mAccountManager = AccountManager.get(getApplicationContext());
boolean accountAdded = mAccountManager.addAccountExplicitly(resilincAccount, accountPass, null);
mAccountManager.setAuthToken(resilincAccount, Constants.ACCOUNT_TYPE, accntAuthToken);
mAccountManager.addOnAccountsUpdatedListener(this, null, true);
setAccountAuthenticatorResult(authIntent.getExtras());
setResult(RESULT_OK, authIntent);
任何人都知道为什么我必须登录两次才能将我的 authToken 保存在 AccountManager 中?