【问题标题】:Java android - CookieHandler - How to keep cookies after closing the app?Java android - CookieHandler - 关闭应用程序后如何保留cookie?
【发布时间】:2015-10-07 02:53:08
【问题描述】:

要在HttpURLConnection中每次请求后保留cookie,应该在应用程序启动时添加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);
    }
}

谢谢..

【问题讨论】:

  • 是的,sharedPreference 有什么问题?它们完全符合您的要求
  • 是的,但是如何将 cookie 转换为字符串并返回呢?不过这没关系,我已经得到答案了……

标签: java android session-cookies cookiestore android-cookiemanager


【解决方案1】:

默认的CookieStore 不会将任何内容保存到磁盘,您需要实现一个。这里是an example implementation,它将 Cookie 直接保存到 SharedPreferences。

【讨论】:

    猜你喜欢
    • 2012-07-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-14
    • 1970-01-01
    • 1970-01-01
    • 2014-07-07
    • 1970-01-01
    相关资源
    最近更新 更多