Не могу получить куки в Android - PullRequest
0 голосов
/ 01 апреля 2020

Я пытаюсь получить Я готовлю ie Я установил из JavaScript код в Android.

Я успешно проверил, что веб-страница при загрузке Chrome успешно получает cook ie создан, поэтому я думаю, что это также должно происходить в веб-просмотре.

Это мой текущий код:

 webView.loadUrl("http://10.0.2.2:8080/geoserver/www/first_leaflet_webviewer.html");

[…]

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

getCook ie определяется как:

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;
    }

Но getCook ie всегда возвращает ноль, как если бы повар ie никогда не создавался.

Я пытался изменить http://10.0.2.2: 8080 на http://10.0.2.2: 8080 / геосервер / www/first_leaflet_webviewer.html и http://localhost, на всякий случай, но безрезультатно.

Что мне нужно изменить, чтобы я ' я умею читать повар ie?

1 Ответ

0 голосов
/ 20 апреля 2020

Можете ли вы попытаться установить WebViewClient следующим образом. (обратите внимание, что фрагмент kotlin.)

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")

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...