网上很多说部分机型在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不被调用的问题

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

相关文章:

  • 2022-12-23
  • 2021-11-26
  • 2022-12-23
  • 2021-06-10
  • 2021-06-11
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2023-03-14
  • 2021-10-28
  • 2022-03-09
  • 2021-12-24
相关资源
相似解决方案