WebView加载h5网站嵌到淘宝链接页面报错问题
android混合开发,使用WebView嵌套h5网站。在h5
网站中放了一个按钮。点击按钮会打开第三方链接。如:淘宝,京东,拼多多等。这时候app就会报一个错误。图如下:
淘宝的就是taobao://什么的,京东,类似。
解决方案:
网上好多的解读是说要让webview使用WebChromeClient这种方式。
但是我自己的已经是这个模式了。问题还没解决。后来我又想到问题是点击按钮出现。页面好像不归webview管
直到后来看到https://www.jianshu.com/p/119823e5cfb5 简书上这位作者写 的。webview就好像是我们浏览器,虽然按钮打开页面的操作是在h5里面的,但是所有的请求都会经过webview,一些特殊的请求如“淘宝,京东” 他们打开以后页面会自动执行一个唤起手机app的链接。这个链接不是http打头的。浏览器不能识别就会报错。
这时候就需要过滤请求。
//拦截请求。过滤特殊请求。
public WebViewClient webViewClient = new WebViewClient() {
@Override
public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {
// 不要使用super,否则有些手机访问不了,因为包含了一条 handler.cancel()