2013-06-26 6 views
2

Я расширил AbstractAccountAuthenticator и переопределил getAuthToken. Все работает хорошо с моим getAuthToken, за исключением случаев, когда кешированный authtoken действителен, и в этом случае вызов AccountManagerCallback (signinCallback) вызывается без вызова getAuthToken. Это проблема, потому что мой getAuthToken загружает возвращаемый пакет с конкретными данными приложения.custom getAuthToken не вызывается, когда кешированный authtoken действителен, но идет прямо на обратный вызов

Это менеджер счета вызова я использую:

`signinFuture = mAM.getAuthToken(account, getApplicationContext().getString(R.string.ACCOUNT_TYPE), null, SignInFragmentActivity.this, signinCallback, null);` 

Это то, что вы ожидали бы или должен учитывать менеджер getAuthToken всегда называют мои аутентификации диспетчера переопределение? Что я делаю не так?

ответ

1

Немного поздно, но документируя этот ответ, так как я искал что-то подобное с помощью поиска Google, который привел меня сюда.

более тщательное исследование документации Android становится ясно, что getAuthToken только должен вернуть три комплекта ключей (в зависимости от результата вызова)

Правильный подход является для хранения отдельных приложений данных в Набор UserData, когда вы явно создаете учетную запись с помощью AccountManager и извлекаете ее, как только у вас есть действующий токен аутентификации.

См. http://developer.android.com/reference/android/accounts/AccountManager.html для получения дополнительной информации.