android - 退出应用程序时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。
解决方案
使用 PersistentCookieJar —— 持久化并且有利于将 Cookies 封装在应用程序本身中。请检查这个
每次APP计划启动Webview时,都需要将cookies从PersistentCookieJar复制到CookieManager。