Android WebView中打开外部超链接无反应

什么是外部超链接?
相当于是跳转到一个新的网址页面

解决方案选择:

1.在WebView内部中打开外部超链接

设置setSupportMultipleWindows为false即可

webView.settings.setSupportMultipleWindows(false)

2.打开系统浏览器打开新页面

设置setSupportMultipleWindows为true
webView.settings.setSupportMultipleWindows(true)

      webView.webChromeClient = object : WebChromeClient() {

                override fun onCreateWindow(
                    view: WebView?,
                    isDialog: Boolean,
                    isUserGesture: Boolean,
                    resultMsg: Message?
                ): Boolean {
                    val newWebView = WebView(view!!.context)
                    newWebView.webViewClient = object : WebViewClient() {
                        override fun shouldOverrideUrlLoading(
                            view: WebView,
                            request: WebResourceRequest
                        ): Boolean {
                            // 在此处进行跳转URL的处理, 一般情况下_black需要重新打开一个页面,
                            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
                                val viewIntent =
                                    Intent(Intent.ACTION_VIEW, Uri.parse(request.url.toString()))
                                startActivity(viewIntent)
                            } else {
                                val viewIntent =
                                    Intent(Intent.ACTION_VIEW, Uri.parse(request.toString()))
                                startActivity(viewIntent)
                            }
                            return false
                        }
                    }
                    val transport = resultMsg!!.obj as WebViewTransport
                    transport.webView = newWebView
                    resultMsg!!.sendToTarget()
                    return true
                }



            }

更多

浅谈WebView在新窗口浏览网页(setSupportMultipleWindows()与onCreateWindow()关系)

webview某些超链接点击无响应的问题

安卓WebView详解 (四)–WebSettings的API及说明

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

哆啦A梦z

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值