webview拦截垃圾电信运营商的广告方法

来源:互联网 发布:网络信息安全的真相 编辑:程序博客网 时间:2024/04/30 15:08
mWebView.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {


if (url.startsWith("tel:")) {
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
startActivity(intent);
return true;
}
view.loadUrl(url);
return true;
}


@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
view.loadUrl("javascript:function setTop(){document.querySelector('.ad-footer').style.display=\"none\";}setTop();");
view.loadUrl("javascript:function setBottom(){document.querySelector('.ad-footer').style.display=\"none\";}setBottom();");
String title = view.getTitle();
titleName.setText(title);
}


@Override

public WebResourceResponse shouldInterceptRequest(WebView view, String url) {

//关键代码

if (!url.contains("xxx")) {
return new WebResourceResponse(null, null, null);
}

return null;
}


});

特别说明:此处的关键代码部分已经验证过,可以实现拦截不希望加载的网页。具体的拦截规则可以根据自己的需要进行。



0 0
原创粉丝点击