Android中WebView拦截替换网络请求数据
来源:互联网 发布:淘宝总销量怎么计算 编辑:程序博客网 时间:2024/05/24 07:25
from : http://droidyue.com/blog/2014/11/23/block-web-resource-in-webview/index.html
Android中处理网页时我们必然用到WebView,这里我们有这样一个需求,我们想让WebView在处理网络请求的时候将某些请求拦截替换成某些特殊的资源。具体一点儿说,在WebView加载 http://m.sogou.com
时,会加载一个logo图片,我们的需求就是将这个logo图片换成另一张图片。
shouldInterceptRequest
好在Android中的WebView比较强大,从API 11(Android 3.0)开始, shouldInterceptRequest被引入就是为了解决这一类的问题。
shouldInterceptRequest这个回调可以通知主程序WebView处理的资源(css,js,image等)请求,并允许主程序进行处理后返回数据。如果主程序返回的数据为null,WebView会自行请求网络加载资源,否则使用主程序提供的数据。注意这个回调发生在非UI线程中,所以进行UI系统相关的操作是不可以的。
shouldInterceptRequest有两种重载。
- public WebResourceResponse shouldInterceptRequest (WebView view, String url) 从API 11开始引入,API 21弃用
- public WebResourceResponse shouldInterceptRequest (WebView view, WebResourceRequest request) 从API 21开始引入
本次例子暂时使用第一种,即shouldInterceptRequest (WebView view, String url)。
示例代码
其中WebResourceResponse需要设定三个属性,MIME类型,数据编码,数据(InputStream流形式)。
示例下载
- 百度云盘
0 1
- Android中WebView拦截替换网络请求数据
- Android中WebView拦截替换网络请求数据
- Android中WebView拦截替换网络请求数据
- Android中WebView拦截替换网络请求数据
- Android中WebView拦截替换网络请求数据
- Android中WebView中拦截所有请求并替换URL
- 关于webView拦截H5网络请求数据,替换本地数据问题
- Android中WebView中拦截所有请求并替换URL(支持AJAX的post请求类型)
- webView 拦截网络请求
- Android中WebView拦截js请求
- android WebView拦截请求详解
- Android WebView拦截请求详解
- Android Webview拦截ajax请求
- Android的WebView拦截数据
- WebView拦截替换URL请求,Codrova踩坑之路
- 在redux-observable中替换fetch请求网络数据
- Android webview中拦截超链接
- Android中WebView或者网络请求实现动态全局代理
- getopts/getopt(转载)
- 【机器学习笔记1】Logistic回归总结
- 最全面的几何画板实用教程视频免费下载
- myql 外键关联问题
- java排序之冒泡、插入、选择、快速等排序算法
- Android中WebView拦截替换网络请求数据
- MFC视频播放器制作(OpenCV)
- android时间定时器的应用,短信验证码,定时刷新页面
- ORACLE的statistics_level的三种状态以及oracle自动诊断工具ADDM
- QT下使用MapX控件的问题以及Activex技术
- Linux基础知识汇总
- Linux查看连接数,并发数
- linux内核组件分析之--设备驱动模型之bus
- s3c6410 触摸屏驱动移植