Перехват ссылок на WebView не работает - PullRequest
0 голосов
/ 26 марта 2020

Имея веб-представление и пытаясь поймать ссылку на тег привязки, нажмите shouldOverrideUrlLoading

, но по какой-то ссылке щелчок не вызывает shouldOverrideUrlLoading, вместо этого он очищает содержимое в WebView.

как "<a href=\"/hashtag/morethanacoach?src=hash\" data-query-source=\"hashtag_click\" class=\"twitter-hashtag pretty-link js-nav\" dir=\"ltr\" ><s>#</s><b>morethanacoach</b></a>"

код:

    fun setUpWebView(webview: WebView) {

        webview.settings.javaScriptEnabled = true
        webview.setWebViewClient(object : WebViewClient() {

            override fun shouldOverrideUrlLoading(view: WebView?, url: String): Boolean {

                Log.e("+++", "+++ shouldOverrideUrlLoading(), url: $url")
                return true
            }

            override fun shouldInterceptRequest(view: WebView?, url: String): WebResourceResponse? {
                Log.i("+++", "+++ shouldInterceptRequest(), url: $url")
                return null
            }
        })
    }

    fun setDataToWebView(webview: WebView, data: String) {

        Log.v("+++", "+++ setDataToWebView($data)")
        webview.loadDataWithBaseURL(null, data, "text/html", "UTF-8", null)
    }

html строка

 val testStr = "Hello <span class=\"hashflag-container\">" +
            "<a href=\"/hashtag/LakeShow?src=hash\" data-query-source=\"hashtag_click\" class=\"twitter-hashtag pretty-link js-nav\" dir=\"ltr\" ><s>#</s><b>LakeShow</b></a><b/>" +
            "<a href=\"<a href=\"/hashtag/LakeShow?src=hash\" dir=\"ltr\"><img class=\"twitter-hashflag\" src=\"https://abs.twimg.com/hashflags/NBATeam20192020Season_Emojis_LAL/NBATeam20192020Season_Emojis_LAL.png\" draggable=\"false\" alt=\"\"></a></span>"+
            "</b>???‍♂️ See what ? ? ? eee888 </b><b/>\n" +
            "<a href=\"tel:+4733378901\">+47 333 78 901</b></a><b/>\n" +
            "<a href=\"https://www.w3schools.com\">Visit W3Schools.com!</b></a><b/>\n"+
            "✊?✊?✊? <a href=\"/Iam1Cent\" class=\"twitter-atreply pretty-link js-nav\" dir=\"ltr\" data-mentioned-user-id=\"167554111\" ><b>@</b><b>Iam1Cent</b></a><b/>" +
            "<a href=\"/hashtag/morethanaballer?src=hash\" data-query-source=\"hashtag_click\" class=\"twitter-hashtag pretty-link js-nav\" dir=\"ltr\" ><s>#</s><b>morethanaballer</b></a> " +
            "<a href=\"/hashtag/morethanacoach?src=hash\" data-query-source=\"hashtag_click\" class=\"twitter-hashtag pretty-link js-nav\" dir=\"ltr\" ><s>#</s><b>morethanacoach</b></a>"

только <a href=\"tel:+4733378901\">+47 333 78 901</b></a> и <a href=\"https://www.w3schools.com\">Visit W3Schools.com!</b></a> click are call в shouldOverrideUrlLoading

есть ли способ перехватить любой щелчок тега привязки в WebView?

enter image description here

...