Android实现WebView点击拦截跳转原生
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点击拦截跳转原生就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持好吧啦网。
相关文章:
1. vue-drag-chart 拖动/缩放图表组件的实例代码2. vue使用moment如何将时间戳转为标准日期时间格式3. Android studio 解决logcat无过滤工具栏的操作4. 什么是Python变量作用域5. js select支持手动输入功能实现代码6. PHP正则表达式函数preg_replace用法实例分析7. Android Studio3.6.+ 插件搜索不到终极解决方案(图文详解)8. bootstrap select2 动态从后台Ajax动态获取数据的代码9. Android 实现彻底退出自己APP 并杀掉所有相关的进程10. 一个 2 年 Android 开发者的 18 条忠告
