如何在应用程序执行之间保留 webview cookie?

Nul*_*ion 7 cookies android webview android-webview android-cookiemanager

目前Android可以实现这个功能吗?我只能找到有关旧方法(CookieSynchManager)的已弃用问题,这实际上似乎不适用于此。

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

Edo*_*ati 10

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

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

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

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

public class MyWebViewClient extends WebViewClient {

    public void onPageFinished(WebView view, String url) {
      CookieManager.getInstance().setAcceptCookie(true);
      CookieManager.getInstance().acceptCookie();
      CookieManager.getInstance().flush();
    }
}
Run Code Online (Sandbox Code Playgroud)


Man*_*ath 0

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

CookieManager.getInstance().setAcceptCookie(true)
Run Code Online (Sandbox Code Playgroud)

setAcceptCookie(布尔接受);

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

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