首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Android中无法获取cookie

在Android中无法获取cookie
EN

Stack Overflow用户
提问于 2020-04-01 20:19:33
回答 1查看 166关注 0票数 0

我正在尝试获取我在安卓的JavaScript代码中设置的cookie。

我已经成功地检查了当Chrome加载网页时成功地创建了一个cookie,所以我认为这也应该发生在webview上。

这是我当前的代码:

代码语言:javascript
复制
 webView.loadUrl("http://10.0.2.2:8080/geoserver/www/first_leaflet_webviewer.html");

[…]

String value = getCookie("http://10.0.2.2:8080", "latlng");

getCookie定义为:

代码语言:javascript
复制
public String getCookie(String siteName,String CookieName){
        String CookieValue = null;

        CookieManager cookieManager = CookieManager.getInstance();
        String cookies = cookieManager.getCookie(siteName);
        if(cookies != null){
            String[] temp=cookies.split(";");
            for (String ar1 : temp ){
                if(ar1.contains(CookieName)){
                    String[] temp1=ar1.split("=");
                    CookieValue = temp1[1];
                }
            }
        }
        return CookieValue;
    }

但是getCookie总是返回null,就好像cookie从未被创建过一样。

我已经尝试为http://10.0.2.2:8080/geoserver/www/first_leaflet_webviewer.htmlhttp://localhost更改http://10.0.2.2:8080,以防万一,但无济于事。

为了能够读取cookie,我需要进行哪些更改?

EN

回答 1

Stack Overflow用户

发布于 2020-04-20 18:55:16

你能试着这样设置WebViewClient吗?(请注意,代码片段是kotlin。)

代码语言:javascript
复制
webView.webViewClient = object : WebViewClient() {

                override fun onPageStarted(view: WebView?, url: String?, favicon: Bitmap?) {
                    super.onPageStarted(view, url, favicon)
                    if (CookieManager.getInstance().getCookie(url) != null && CookieManager.getInstance().getCookie(url).contains("latlng")) {
                        //todo
                    }
                }

                override fun onPageFinished(view: WebView, url: String) {
                    super.onPageFinished(view, url)
                     if (CookieManager.getInstance().getCookie(url) != null && CookieManager.getInstance().getCookie(url).contains("latlng")) {
                        //todo
                    }
                }
 }

webView.loadUrl("http://10.0.2.2:8080/geoserver/www/first_leaflet_webviewer.html")
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60970731

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档