Android实现WebView点击拦截跳转原生
作者:qq_41880285 发布时间:2023-01-06 23:47:38
标签: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"
来源:https://blog.csdn.net/qq_41880285/article/details/90437561
0
投稿
猜你喜欢
- 本文列举了几个方法: 1. 使用java.math.BigDecimal &n
- 这篇文章主要介绍了Java向上转型和向下转型实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友
- 1、理论一般如果想将类注册到spring容器,让spring来完成实例化,常用方式如下:xml中通过bean节点来配置;使用@Service
- 以下代码实现了android的免提开启和关闭功能需要添加的权限<uses-permission android:name="
- Spring中提供了很多PostProcessor供开发者进行拓展,例如:BeanPostProcessor、BeanFactoryPost
- 十六进制字符串与数值类型之间转换(C# 编程指南) 以下示例演示如何执行下列任务: 获取字符串中每个字符的十六进制值。 获取与十六进制字符串
- 环境搭建项目结构图:1.我们首先做好服务端pom.xml<dependencies>
- 目录一、为什么用DiskLruCache1、LruCache和DiskLruCache2、为何使用DiskLruCache二、DiskLru
- 在学习MyBatis过程中想实现模糊查询,可惜失败了。后来上百度上查了一下,算是解决了。记录一下MyBatis实现模糊查询的几种方式。 数据
- 目前Android平台提供了两类动画一类是Tween动画,第二类就是 Frame动画,具体内容介绍请看下文:一类是Tween动画,就是对场景
- 本文实例讲述了C#实现对Json字符串处理方法,分享给大家供大家参考。具体分析如下:一般对于web应用开发人员来说对Json字符串都会很熟悉
- 第一步:官网(或跟硬件开发WMI的人沟通你需要的接口和参数定义,如果是和硬件开发的人协定WMI接口,直接看第二步)查找你需要的WMI信息;举
- 在处理大文件时,如果利用普通的FileInputStream 或者FileOutputStream 抑或RandomAccessFile 来
- AI 平台:http://ai.baidu.com/开发工具:vs 2017准备工作1、注册百度账号2、登录百度 AI 开发平台,http:
- 在Java里面,可以用复制语句”A=B”给基本类型的数
- 单点登录概念单点登录(Single Sign On),简称为 SSO,是目前比较流行的企业业务整合的解决方案之一。SSO的定义是在多个应用系
- 序目前最新的版本是 C# 7.0,VS 的最新版本为 Visual Studio 2017 RC,两者都尚未进入正式阶段。C# 6.0 虽说
- 这篇文章memo一下Jvm中关于时区设定的基础操作。Java的时区设定这里列出如下三种方式方式说明TimeZone.setDefault方式
- ArrayList与Array的区别概述 ArrayList 是数
- 静态代理: 由我们开发者自己手动创建或者在程序运行前就已经存在的代理类,静态代理通常只代理一个类, * 是代理一个接口下的多个实现类。动态