【问题标题】:How to persist webview cookies between app executions?如何在应用程序执行之间保留 webview cookie?
【发布时间】:2018-01-26 20:15:00
【问题描述】:

目前可以在 Android 中实现这一点吗?我只能找到有关旧方法 (CookieSynchManager) 的已弃用问题,这些问题实际上似乎并不适用。

有可能实现吗?我在 Android 开发人员指南中也找不到任何内容。

【问题讨论】:

    标签: android cookies webview android-webview android-cookiemanager


    【解决方案1】:

    遇到同样的问题...我在这里解决了阅读文档:

    https://developer.android.com/reference/android/webkit/CookieSyncManager

    对于未来的读者:要强制 Cookie 同步过程,您可以手动调用 CookieManager 的 flush() 方法

    我个人在webview中放了如下代码:

    public class MyWebViewClient extends WebViewClient {
    
        public void onPageFinished(WebView view, String url) {
          CookieManager.getInstance().setAcceptCookie(true);
          CookieManager.getInstance().acceptCookie();
          CookieManager.getInstance().flush();
        }
    }
    

    【讨论】:

      【解决方案2】:

      由于 CookieSynchManager 已被弃用,CookieManager.getInstance() 是整个应用程序的 CookieManager 实例。因此,您可以通过

      启用它
      CookieManager.getInstance().setAcceptCookie(true)
      

      setAcceptCookie(布尔接受);

      设置应用程序的 WebView 实例是否应该发送和 接受 cookie。

      https://developer.android.com/reference/android/webkit/CookieManager.html

      【讨论】:

      • 您好,但是这些 cookie 存储在 RAM 中还是会持续存在?
      • @NullPointerException 除非从 App Info 中清除数据/缓存,否则它将持续存在。或者在其他情况下,如果我们想清除 cookie,我们可以通过编程方式清除它。
      • @Manoj_Frekzz 谢谢你,但你在哪里可以找到它?我不能在文档中找到该描述
      猜你喜欢
      • 1970-01-01
      • 2010-10-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多