shouldOverrideUrlLoading不被调用的问题

网上很多说部分机型在WebView使用拦截URL中出现了问题,今天我用的测试机是某米产品

首先先说下WebView如果想拦截某个url的话需要重写shouldOverrideUrlLoading这个方法

shouldOverrideUrlLoading不被调用的问题

这是我刚开始写的方法,返回true拦截(即点击这个链接没有任何反应),返回false不拦截(即这个链接可以正常跳转),

但是我这么写了却发现网页中的链接点击正常跳转,根本没有进到这个方法里,在网上找的各种方法都试过,然而并没有解决问题,这是我注意到了Logcat里有这样一句话

shouldOverrideUrlLoading不被调用的问题

在这里说一下咱们重写的这个方法shouldOverrideUrlLoading有两种参数类型:

1、public boolean shouldOverrideUrlLoading(WebView view, String url);Android7.0后被废弃

2、 public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request);

由于我的测试机版本低,所以只能用第一个方法,于是改成下面这样:

shouldOverrideUrlLoading不被调用的问题

果不其然,这个方法被顺利调用,我自己记录的同时也希望能帮助别的同学,如果有不同见解欢迎留言一起讨论,谢谢!!