Android setAuthToken第一次不工作
问题描述:
我正在使用AccountManager在Android上保存我的应用程序帐户,并且想要在设备上保存身份验证令牌。 我每次登录并执行addAccountExplicitly时都会添加我的应用程序帐户,但setAuthToken不起作用,直到我再次登录并再次登录setAuthToken。 下面是我添加的帐户和设置的authTokenAndroid setAuthToken第一次不工作
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代码?
答
的,你传递给setAccountAuthenticatorResult
包必须包含以下属性:
res.putExtra(AccountManager.KEY_ACCOUNT_TYPE, <account_type>);
res.putExtra(AccountManager.KEY_ACCOUNT_NAME, <user_id>);
res.putExtra(AccountManager.KEY_AUTHTOKEN, <auth_token>);
由于其现在的工作 –