Как сохранить и получить auth_token в/из AccountManager

Я использую AccountManager для хранения auth_token. Я использую следующий код для хранения auth_token. Но я не могу вернуть его обратно.

AccountManager.get(this).addAccountExplicitly(account, "", bundle);

И я использую следующий код (используя библиотеку Volley), чтобы вернуть его обратно, но он выдает AuthFailureError.

try {
    Logging.d(LOG_TAG, "AUTH TOKEN : "
            + (new AndroidAuthenticator(this, account,
                    CustomAuthenticator.AUTHTOKEN_TYPE).getAuthToken()));
} catch (AuthFailureError e) {
    Logging.d(LOG_TAG, "AUTH FAILURE");
    e.printStackTrace();
}

Какие-либо предложения ?


person Manjunath    schedule 12.12.2013    source источник


Ответы (1)


Наконец, я смог получить auth_token через этот фрагмент:

final AccountManagerFuture<Bundle> future = AccountManager.get(this)
        .getAuthToken(account, authTokenType, null, this, null, null);

new Thread(new Runnable() {
    @Override
    public void run() {
        try {
            Bundle bnd = future.getResult();
            final String authtoken = bnd
                    .getString(AccountManager.KEY_AUTHTOKEN);
            Logging.d(LOG_TAG, (authtoken != null) ? "SUCCESS!\ntoken: "
                    + authtoken : "FAIL");
        } catch (Exception e) {
            e.printStackTrace();                }
    }
}).start();
person Manjunath    schedule 12.12.2013