今天手上项目接手一个新需求
需要在webview点击的时候,根据url信息决定是webview页内跳转,还是跳转到原生页面中
在webclient中可以拦截webview的请求事件
mWebViewClient = object : WebViewClient() {
//已被遗弃的方法,我测试中没有发生调用
override fun shouldOverrideUrlLoading(view: WebView?, url: String?): Boolean {
return super.shouldOverrideUrlLoading(view, url)
}
//返回true则会完全拦事件,webview将不会发生页内跳转
override fun shouldOverrideUrlLoading(
view: WebView?,
request: WebResourceRequest?
): Boolean {
return super.shouldOverrideUrlLoading(view, request)
}
}
以下是简单的解析url的方法
//获取所有的键值对
url.getQuery
//获取checkout的键值对键值
url.getQueryParameter("checkout)
//转义Url中的特殊字符
url = URLDecoder.decode(url.toString(), "UTF-8")
本文介绍了如何在Webview项目中使用WebViewClient拦截并处理url请求,根据url信息判断是进行页面内跳转还是跳转到原生应用,以及如何解析和处理url中的特殊字符。
207

被折叠的 条评论
为什么被折叠?



