Привет У меня возникли проблемы восстановления моего authToken, когда я звонюМенеджер Android счета не кэшировать authToken
mAccountManager.blockingGetAuthToken(Auth.getAccount(), Auth.AUTH_TOKEN_TYPE, true)
Я получаю пустую строку назад, что привело меня смотреть в мой класс AbstractAccountAuthenticator, в частности getAuth(). Вот что его делание:
public Bundle getAuthToken(AccountAuthenticatorResponse response,
Account account, String authTokenType, Bundle options)
throws NetworkErrorException {
final AccountManager am = AccountManager.get(mContext);
String authToken = am.peekAuthToken(account, authTokenType);
String uid = am.getUserData(account, AccountManager.KEY_CALLER_UID);
// return bundle with authToken
if (!TextUtils.isEmpty(authToken)) {
final Bundle result = new Bundle();
result.putString(AccountManager.KEY_ACCOUNT_NAME, account.name);
result.putString(AccountManager.KEY_ACCOUNT_TYPE, account.type);
result.putString(AccountManager.KEY_AUTHTOKEN, authToken);
result.putString(AccountManager.KEY_CALLER_UID, uid);
return result;
}
return null;
}
peekAuthToken возвращается нуль, однако я получаю правильный uid
от getUserData, которые приводят меня к мысли, я добавляю счет правильно. Вот как я установил authToken:
mAccountManager.addAccountExplicitly(account, accountPassword, extraData);
//The addAccount is working, and I can obtain the extraData in getAuth
mAccountManager.setAuthToken(account, Auth.AUTH_TOKEN_TYPE, authtoken);
//I assume this is where the authToken is to be cached…but I can't retrieve it…
//The token does exist at this point
Любые предложения?
Вы уверены, что переменная учетной записи, которая проходит, такая же, как и при вызове setAuthToken? – CChi
Я так считаю, Auth.getAccount() возвращает AccountManager.get (App.getContext()). GetAccountsByType (ACCOUNT_TYPE) [0]; И он правильно хранит информацию об учетной записи – AIntel
Я не могу понять, что произойдет, посмотрев на этот фрагмент кода. Но вы можете проверить эту ссылку для полного покрытия учетной записи. http://udinic.wordpress.com/2013/04/24/write-your-own-android-authenticator/ – CChi