Java android - CookieHandler - Как сохранить куки после закрытия приложения?

Чтобы сохранять куки после каждого запроса в HttpURLConnection, следует добавить CookieHandler при запуске приложения:

CookieManager cookieManager = new CookieManager();
CookieHandler.setDefault(cookieManager);

Но в приложении, закрывающемся и открывающемся снова, cookie-файлы пусты... Так как же сохранить cookie-файлы после закрытия?

Что-то вроде сохранения их в SharedPreferences или в файле и вернуть их после открытия...

Я пытался сохранить их с помощью CookieStore, но это не сработало:...

Сохранить:

Settings.Save(c, TAG, cookieManager.getCookieStore().getCookies().toString());

Нагрузка:

String load = Settings.Load(c, TAG);
if (load != null) {
    for (HttpCookie hc : HttpCookie.parse(load)) {
        cookieManager.getCookieStore().add(new URI(Data.domain), hc);
    }
}

Спасибо..

1 ответ

Решение

По умолчанию CookieStore ничего не сохраняется на диск, вам нужно реализовать тот, который делает. Вот пример реализации, которая сохраняет Cookies непосредственно в SharedPreferences.

Другие вопросы по тегам