Android实现WebView点击拦截跳转原生
程序员文章站
2023-08-25 23:01:57
1. 首先设置web视图webview.setwebviewclient(new mywebviewclient());webview1.setwebviewclient(new mywebviewc...
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点击拦截跳转原生就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
上一篇: 朋友的孩子刚上小学
推荐阅读
-
Android 实现WebView点击图片查看大图列表及图片保存功能
-
Android studio点击跳转WebView详解
-
Android中TextView实现部分文字可点击跳转
-
Android 实现WebView点击图片查看大图列表及图片保存功能
-
Android studio点击跳转WebView详解
-
Android中TextView实现部分文字可点击跳转
-
Android中TextView自动识别url且实现点击跳转
-
Android实现点击WebView界面中图片滑动浏览与保存图片功能
-
Android中WebView实现点击超链接启动QQ的方法
-
Android拦截并获取WebView内部POST请求参数的实现方法