【问题标题】:Cookie doesn't work properly in webview in androidCookie 在 android 的 webview 中无法正常工作
【发布时间】:2017-03-29 13:19:19
【问题描述】:

需要的数据不会立即在 WebView 中写入 cookie。但是当我等待 10-15 秒时,一切正常。 为了解释这种情况,这个例子对我来说很好:

我打开应用程序并登录。登录后,我立即关闭应用程序。然后在我再次打开应用程序后,它显示我要注销。但是如果我在 1 分钟后打开应用程序,它会再次显示为已登录。对我来说,cookies 是最近写的。但我找不到解决方案。如果你知道,请帮助我。

我使用了 CookieManager 类,但它也无济于事。

CookieManager.getInstance().setAcceptCookie(true);

【问题讨论】:

    标签: android cookies webview


    【解决方案1】:

    我有类似的问题,我添加了下面的代码并工作。

    String myURL = "https://www.yourWebPage.com";
    
    android.webkit.CookieManager cookieManager = android.webkit.CookieManager.getInstance();
    
    cookieManager.setAcceptCookie(true);
    cookieManager.acceptCookie();
    cookieManager.setAcceptFileSchemeCookies(true);
    cookieManager.getInstance().setAcceptCookie(true);
    cookieManager.getCookie(myURL); 
    

    希望对你有帮助。

    【讨论】:

    • 很高兴它帮助了你:)
    【解决方案2】:

    我遇到了类似的问题,我所做的是在登录时获取 cookie 并为您在 webView 上设置的加载 url 设置 cookies

            @Nullable
            @Override
            public WebResourceResponse shouldInterceptRequest(WebView view, WebResourceRequest request) {
                String resourceUrl = request.getUrl().toString();
                Log.e(MainActivity.TAG, "the request url :" + resourceUrl);
                CookieManager cookieManager1 = CookieManager.getInstance();
                // get the resourceUrl that has session
                if (resourceUrl.equals("the url has session")){
                    String Cookies = cookieManager1.getCookie(resourceUrl);
                    if (Cookies != null && Cookies.contains("sessionid")){
                        String[] cookiesList = Cookies.split(";");
                        cookieManager1.removeSessionCookies(null);
                        for (String c : cookiesList) {
                            cookieManager1.setCookie("the load url", c);
                        }
                    }
                }
                return super.shouldInterceptRequest(view, request);
    
            }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-06-30
      • 1970-01-01
      • 2020-05-06
      • 2017-03-16
      • 2018-07-02
      • 1970-01-01
      • 2014-11-21
      相关资源
      最近更新 更多