当前位置: 移动技术网 > IT编程>移动开发>Android > Android实现WebView点击拦截跳转原生

Android实现WebView点击拦截跳转原生

2020年05月11日  | 移动技术网IT编程  | 我要评论

装修注意事项,青海省旅游局,姐夫拿麻将砸死小舅子

1. 首先设置web视图

webview.setwebviewclient(new mywebviewclient());
webview1.setwebviewclient(new mywebviewclient());

2. 拦截点击的链接,跳转到对应的页面

 // 监听 所有点击的链接,如果拦截到我们需要的,就跳转到相对应的页面。

 private class mywebviewclient extends webviewclient {

  @override
  public boolean shouldoverrideurlloading(webview view, string url) {
   log.e("tsg","url==="+url);
 //这里进行url拦截
   if (url != null && url.contains(https://www.jb51.net)) {
 字符串截取需要的
    string str="";
    str=url.substring(url.lastindexof("id/"),url.length());
    str=str.substring(3,str.indexof("."));
    log.e("tsg","id==="+str);
//    toast.maketext(mactivity, "njhnuj", toast.length_short).show();
 //跳转需要跳转的页面
    intent intent = new intent();
    intent = new intent(getactivity(), spproductdetailactivity.class);
    intent.putextra("goodsid",str);
    getactivity().startactivity(intent);
    return true;

   }
   return super.shouldoverrideurlloading(view, url);
  }
  @override

  public void onpagefinished(webview view, string url) {
   view.getsettings().setjavascriptenabled(true);
   super.onpagefinished(view, url);
  }

 }

补充知识:android9.0 webview空白页面

最近遇见线上客户部分手机9.0系统,在使用到webview的页面,都是空白,无法正常加载出页面。。。

原因是:

在安卓9.0版本中有一个新特性如下

所有应用都使用https

这是对android安全用户的肯定。androidpie上的所有应用程序默认都使用https。android关心您的隐私。

也就是说从android 9.0(api级别28)开始,默认情况下禁用明文支持。因此http的url均无法在webview中加载。

解决办法:

在androidmanifest.xml文件中的application标签添加android:usescleartexttraffic="true"。

android:usescleartexttraffic="true"

以上这篇android实现webview点击拦截跳转原生就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持移动技术网。

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网