Android实现WebView点击拦截跳转原生
程序员文章站
2022-06-05 08:33:20
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点击拦截跳转原生就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
下一篇: 新解决SQL Server并发的方法
推荐阅读
-
Android原生PDF功能实现:PDF阅读、PDF页面跳转、PDF手势伸缩、PDF目录树、PDF预览缩略图
-
Android WebView拦截iframe标签内部跳转教程
-
Android实现WebView点击拦截跳转原生
-
Android原生App跳转到React Native App实现方法
-
Android 通过ASM实现多次点击拦截
-
Android中如何实现TextView中某段文字超链接点击打开浏览器跳转到网页?
-
Android实现点击WebView界面中图片滑动浏览与保存图片功能
-
Android实现点击切换视图并跳转传值
-
Android使用Intent的Action和Data属性实现点击按钮跳转到拨打电话和发送短信界面
-
Android中使用Intent的Action和Data属性实现点击按钮跳转到拨打电话和发送短信