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点击拦截跳转原生就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • 解决webview内的iframe中的事件不可用的问题

    最近做Android的Webview开发,使用iframe中嵌入了很多页面,嵌入的页面却不可用,最后发现是 webView.setWebViewClient(new WebViewClient() { @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { return super.shouldOverrideUrlLoading(view, url); } 不要覆写 shouldOverride

  • 详解Flutter WebView与JS互相调用简易指南

    本文采用Flutter官方WebView插件:https://pub.dartlang.org/packages/webview_flutter WebView与JS互相调用是一个刚需,但是貌似现在大家写的文章讲的都不是很清楚,我这个简易指南简单粗暴地分为两部分:JS调用Flutter和Flutter调用JS,拒绝花里胡哨,保证一看就懂,一学就会. 开始之前先简单了解一下官方WebView所包含的API: onWebViewCreated:在WebView创建完成后调用,只会被调用一次: ini

  • Android实现WebView点击拦截跳转原生

    1. 首先设置Web视图 webview.setWebViewClient(new MyWebViewClient()); webview1.setWebViewClient(new MyWebViewClient()); 2. 拦截点击的链接,跳转到对应的页面 // 监听 所有点击的链接,如果拦截到我们需要的,就跳转到相对应的页面. private class MyWebViewClient extends WebViewClient { @Override public boolean sh

  • Android 实现WebView点击图片查看大图列表及图片保存功能

    在日常开发过程中,有时候会遇到需要在app中嵌入网页,此时使用WebView实现效果,但在默认情况下是无法点击图片查看大图的,更无法保存图片.本文将就这一系列问题的实现进行说明. 图示: 项目的知识点: 加载网页后如何捕捉网页中的图片点击事件: 获取点击的图片资源后进行图片显示,获取整个页面所有的图片: 支持查看上下一张的图片以及对图片缩放显示: 对图片进行保存: 其他:图片缓存的处理(不用每次都重新加载已查看过的图片) 项目代码结构: 前期准备(添加权限.依赖和混淆设置): 添加权限: <us

  • Android中WebView实现点击超链接启动QQ的方法

    前言 之前有次在面试的时候,面试官问了一个如何在WebView点击超链接启动类型QQ类似第三方应用,我当时的回答是用WebView与js交互可以做到.面试官听了没再说什么,应该是答案不是他期望的.今天发现原来可以这样实现,记录一下. 实现思路 在Web开发中,启动QQ来临时会话,可以通过一个URL链接 <a target="_blank" href="http://wpa.qq.com/msgrd?v=3&uin=748895431&site=qq&am

  • Android使用Intent的Action和Data属性实现点击按钮跳转到拨打电话和发送短信界面

    场景 点击拨打电话按钮,跳转到拨打电话页面 点击发送短信按钮,跳转到发送短信页面 注: 实现 将布局改为LinearLayout,并通过android:orientation="vertical">设置为垂直布局,然后添加id属性. 然后添加两个按钮,并设置Id属性与显示文本. <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="

  • Android超详细介绍自定义多选框与点击按钮跳转界面的实现

    总程:在avtivity_main.xml设计5个控件,btn1-5,点击btn1弹出一个多选对话框,点击按钮btn1弹出一个多选框可选择你喜欢的打野英雄,点击btn2跳转到activity_main2界面(就是图片,不可选择)设计思路流程:在activity_main.xml布局界面,总体在头目录进行垂直排列,然后镶嵌5个水平的线性布局(左是ImageView,右边是Button按钮)由于5张图的大小在一个屏幕显示不出来,所以添加一个ScoveView滚动,以使所有资源可以看到! 在MainA

  • Android使用WebView播放flash的方法

    本文实例讲述了Android使用WebView播放flash及判断是否安装flash插件的方法.分享给大家供大家参考.具体实现方法如下: 一.问题: 最近帮一个同学做一个项目,断断续续的一些知识点记录一下.一个页面中有一个WebView,用来播放swf,如果系统中未安装flash插件,必须提示用户到market中安装. 二.解决方法: 下面做一个demo,效果图如下: 图1: 图2: 图3: 首先布局文件,很简单: 复制代码 代码如下: <RelativeLayout xmlns:android

  • Android中WebView常见问题及解决方案汇总

    Android WebView常见问题解决方案汇总: 就目前而言,如何应对版本的频繁更新呢,又如何灵活多变地展示我们的界面呢,这又涉及到了web app与native app之间孰优孰劣的争论. 于是乎,一种混合型的app诞生了,灵活多变的部分,如淘宝商城首页的活动页面,一集凡客诚品中我们都可以见到web页面与native页面的混合,既利用了web app的灵活易更新,也借助了native app本身的效率. 当然,就会用到webview这样的一个控件,这里,我把自己使用过程中遇到的一些问题整理

  • 基于Android中Webview使用自定义的javascript进行回调的问题详解

    先说为什么需要讨论这个问题. 现在很多的手机应用,都可能会直接嵌入一个web页面.这样做的好处:一个是功能更新方便,维护起来容易,只需要维护服务器的页面即可,不需要更新客户端:另一个是功能通用,不仅android可以用,ios也可以用,symbian也可以直接用. 那为什么现在很多手机应用并不做成web方式的呢?原因很多.一个是现阶段web方式展现能力相对较弱,如果对于应用的美观程度要求比较高,就无法使用web方式:一个是web方式速度相对较慢,用户体验会受一些影响:一个是现阶段流量还是相对宝贵

  • Android 保存WebView中的图片示例

    前言 项目中有需求在APP的Webview中长按图片可以保存.后来就去研究一下该怎么实现,顺便整理了一下. WebView基本配置 mWvContent.getSettings().setJavaScriptEnabled(true); mWvContent.getSettings().setJavaScriptCanOpenWindowsAutomatically(true); mWvContent.getSettings().setDomStorageEnabled(false); mWvC

  • android中webview定位问题示例详解

    前言 现在很多App里都内置了Web网页(Hyprid App),比如说很多电商平台,淘宝.京东.聚划算等等 京东首页 那么这种该如何实现呢?其实这是Android里一个叫WebView的组件实现的. 最近在做安卓的网页开发.有一个页面需要用到定位,但是一直定位获取失败.很难过.网上教程也很多,但是无一例外全部失败.最后老夫花了3天时间,呕心沥血,终于研制出了解决方案. 三步走战略: 一.获取权限 android 6.0 以后,需要动态的获取位置或者存储权限,按照各自的爱好放置位置.我是应用开启

随机推荐