一:原理

WebView有个setWebViewClient()方法,new一个WebViewClient()的匿名类,里面有两个待重写的方法。其中一个为每次访问前都会回调的方法,在这里面如果待访问的url里面和我们定义的广告url相同,就不访问该url,其余正常。

二:实现

        webView.setWebViewClient(new WebViewClient() {private Map<String, Boolean> loadedUrls = new HashMap<>();@Overridepublic boolean shouldOverrideUrlLoading(WebView view, String url) {// Called by WebView.view.loadUrl(url);return true;}@Overridepublic WebResourceResponse shouldInterceptRequest(WebView view, String url) {url = url.toLowerCase();if(url.contains("google.com") || url.contains("googleads.g")){return new WebResourceResponse(null,null,null);}else{return super.shouldInterceptRequest(view, url);}}});

三:效果图

未开启拦截策略前:

开启拦截策略后:

说明:这种拦截方式优点是上手快,逻辑简单,加载流量少,但前提是必须知晓有哪些广告公司的url。还有一种是过滤JavaScript,这种方式比较繁杂,这里仅提一下。

WebView 拦截广告 简单实现相关推荐

  1. android自带的webview有广告,android webview 拦截广告

    要想对Webview实现一些高级操作,需要使用WebViewClient,下面是关于Webview的几个常用回调函数: 1.public boolean shouldOverrideUrlLoadin ...

  2. 手机网页html怎样阻止广告,Webview拦截广告

    引言 Web背景知识 web三剑客 html + css + javascript 1.html 是用来描述网页的一种语言,它不是一种编程语言,而是一种标记语言(标记标签),总的来说,html使用标记 ...

  3. android html拦截广告,Android WebView拦截iframe标签内部跳转教程

    最近项目里有个广告位需要动态配置,后台给了一段 html 嵌套iframe标签的代码,需要Android拦截iframe内部的跳转,自己做处理. 比如,下面是一段html代码,嵌套这iframe标签, ...

  4. android webview 拦截响应,android WebView拦截请求详解

    1.WebView基本用法 WebView的基本用法相信大多数android开发者都是会使用的,最简单的就是调用个loadUrl方法,但是记得要在清单文件中添加网络权限.我也简单了写了一个加载百度的 ...

  5. android webview拦截加载离线文件

    概述 客户端经常会通过使用webview来用H5实现一些ios与android双端都有的功能,最常见的比如一些活动页面,内部广告页面等. 这些页面大概会有以下几个特点: 要求webview快一些,白屏 ...

  6. android 代码浏览,Webview实现android简单的浏览器实例代码

    WebView是Android中一个非常实用的组件,它和Safai.Chrome一样都是基于Webkit网页渲染引擎,可以通过加载HTML数据的方式便捷地展现软件的界面,下面通过本文给大家介绍Webv ...

  7. chrome浏览器拦截广告_如何禁用Chrome的新广告拦截器(在某些网站或所有网站上)...

    chrome浏览器拦截广告 Google Chrome now has a built-in ad blocker, designed to get rid of the ads that are i ...

  8. 调试页面或样式一定要关闭拦截广告的插件

    调试广告出不来 太坑了,公司的网址有广告位,广告图片上传, 我这广告怎么刷新谷歌浏览器,清除缓存都没用, 最后找了好久是拦截广告插件的锅,调试页面广告怎么都不出来,但是元素还有图片地址都能正常访问, ...

  9. adguard拦截规则存在哪里_Adguard怎么用-使用Adguard拦截广告的方法 - 河东软件园...

    Adguard是一款用于拦截广告的软件,但是它和普通的广告拦截软件相比较功能更加的丰富,使用这款软件中的功能大家可以对浏览器的广告进行拦截,也可以开启家长控制的模式,阻止小朋友们长时间使用电脑.出了这 ...

最新文章

  1. centos7 安装 Mysql 5.7.28,详细完整教程
  2. 用计算机采集卡检测压力传感器信号故障,计算机联网检测系统应用研究
  3. SAP S/4 HANA新变化-主数据:物料主数据
  4. python【数据结构与算法】二分模板
  5. 上篇文章中ygc越来越慢的case的原因解读
  6. android java判断字符串是否为空和是否是手机号和是否是数字,数字转中文
  7. Java下MySQL易用处理工具(支持XML/JavaBean)
  8. c++ 获取系统时间_错过长假,我还有时间做近视手术么?
  9. 机器学习--组合分类方法之AdaBoost算法
  10. 一步一步理解日历calendar(一)
  11. 动物称重管理系统HDX|FDX-B格式低频动物电子耳标面板式远距离读写器|识读器HX-L81100出线方式与标签识读距离
  12. Valine-1.4.4新版本尝鲜+个性制定(表情包、qq头像、UI样式)
  13. 计算机键盘灯光怎么关闭,电脑关了键盘灯一直亮着怎么办
  14. wincc7.4sp1硬件狗破解不成功
  15. CGAL 计算几何库
  16. Python 自动化办公 —— PyPDF2 库的基本使用
  17. 文本溢出隐藏显示...和英文换行
  18. 一个PHP调用GET多个API,PHP GET 调用企查查 API 示例
  19. UITT不忘初心,为交易而生
  20. 国庆中秋除了发月饼,企业更应该做什么?

热门文章

  1. 免费阅读正在杀死腾讯阅文?
  2. 已解决:树莓派外接硬盘 usb 或者sata 导致wifi无法链接 无线网卡无法使用问题
  3. html设置右缩进,word左右缩进怎么设置
  4. .net 邮箱验证码 邮箱验证码实现用户注册
  5. appium调用了click函数的无反应
  6. 增加 swap 空间
  7. R语言axis函数参数详解(坐标轴函数)
  8. 解决canvas导出图片模糊问题
  9. 如何提升程序员的非技术才能
  10. ONVIF客户端搜索设备获取rtsp地址开发笔记(精华篇)