首页 > 解决方案 > 退出应用程序时android WebView cookie过期

问题描述

由于CookieSyncManager.getInstance().sync(); 已弃用,因此尝试使用新命令flush() 在我的应用程序中永久维护 cookie :

webview.setWebViewClient(new WebViewClient() {
        @Override
        public void onPageFinished(WebView view, String url) {
            CookieManager.getInstance().setAcceptCookie(true);
            CookieManager.getInstance().acceptCookie();
            CookieManager.getInstance().acceptThirdPartyCookies(webview);
            CookieManager.getInstance().flush();
        }
        // and more settings for webview
   }

但每次我打开应用程序时,似乎以前的 cookie 都已过期。这些选项是否有助于保存 cookie?我应该把它们放进去onPageFinished吗?

此外,我不得不说 cookie 在目标网站上运行良好,并且设置为 100 天。minSdkVersion 也是 21,targetSdkVersion 是 29。

标签: androidcookieswebview

解决方案


使用 PersistentCookieJar —— 持久化并且有利于将 Cookies 封装在应用程序本身中。请检查这个

每次APP计划启动Webview时,都需要将cookies从PersistentCookieJar复制到CookieManager。


推荐阅读