Android实现WebView点击拦截跳转原生
时间:2022-07-27
本文章向大家介绍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.zalou.cn)) {
字符串截取需要的
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点击拦截跳转原生就是小编分享给大家的全部内容了,希望能给大家一个参考。
- # Hadoop离线数据分析平台实战——230项目数据存储结构设计Hadoop离线数据分析平台实战——230项目数据存储结构设计
- ECJTUACM16 Winter vacation training #5 题解&源码
- Codeforces 716A Crazy Computer
- Hadoop数据分析平台实战——240JavaSDK数据收集引擎编写离线数据分析平台实战——240JavaSDK数据收集引擎编写
- Hadoop离线数据分析平台实战——290活跃用户分析Hadoop离线数据分析平台实战——290活跃用户分析
- Codeforces 719B Anatoly and Cockroaches
- 【一起学Python】爬取前程无忧招聘信息并写入Excel
- 【一起学Python】爬取网易云歌词
- Hadoop离线数据分析平台实战——370外链信息分析Hadoop离线数据分析平台实战——370外链信息分析
- POJ 1067 取石子游戏
- 【一起学Python】STEAM游戏评测爬虫
- Open Judge 2750 鸡兔同笼
- POJ 1017 Packets
- Hadoop离线数据分析平台实战——380MapReduce程序优化Hadoop离线数据分析平台实战——380MapReduce程序优化
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- 关于搜索,你不知道的是.....
- oracle查询表前十条数据
- sql语句查oracle版本号
- 商业鬼才教你 模板方法模式
- 用SQL语句查看Oracle数据表的结构信息
- Oracle建表语法
- 剑指Offer第1题详解(附Java、Python实现代码)
- (美团)动态规划,打家劫舍!
- POIEasyExcel
- 剑指Offer第2题详解(附Python、Java代码实现)
- 剑指Offer第3题详解(附Java、Python源码)
- 从String中移除空白字符的多种方式!?差别竟然这么大!
- Stack.peek() 与 Stack.pop() 的区别
- 傅里叶变换有什么用?
- 剑指Offer第4题详解(附Java、Python源码)