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.