5分钟教你做一个WebView广告过滤器

先来看看效果 
 
这站做的好,满满的广告,许多浏览器都有广告屏蔽功能,实现方式也各不相同,今天我们就来实战下怎么样把这些烦人的广告都干掉。

这里讲的是webview里面的广告,所以我们从网页来分析这个页面。 
(1)广告的加载过程 
 
通过这张图我们能发现网页加载过程是加载js,css,html,以及图片等等一些列的东西,每一个操作都是一个请求,同理,要想加载一个广告那么就必须请求广告。请求广告的链接我们可以通过chrome浏览器开发者模式来抓取。说了这么多还是没说到重点,那到底怎么才能屏蔽广告?【拦截广告的请求】不让广告的请求发出去,广告就获取不到数据了,然后。。。。。然后就没广告了。

(2)WebView拦截器 
既然知道了广告的加载过程,接下来就是开始写代码了。webview的基本用法就不重复了,想必各位都会吧。我们先来熟悉下WebViewClient的几个回调函数:

public boolean shouldOverrideUrlLoading(WebView view, String url) 
// 在点击请求的是链接是才会调用,重写此方法返回true表明点击网页里面的链接还是在当前的webview里跳转,不跳到浏览器那边。
public void onReceivedSslError(WebView view, SslErrorHandler handler, android.net.http.SslError error)
//重写此方法可以让webview处理https请求。
public boolean shouldOverrideKeyEvent(WebView view, KeyEvent event)
//重写此方法才能够处理在浏览器中的按键事件。
public void onLoadResource(WebView view, String url) 
//在加载页面资源时会调用,每一个资源(比如图片)的加载都会调用一次。
public void onPageStarted(WebView v

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值