android – 拦截并覆盖来自WebView的HTTP请求
作者:互联网
我的应用程序中有一个WebView,其中一些站点被打开(总是相同的,它是我自己的页面).该站点有一些JS代码,可以从远程主机加载一些图像.
我想截取对这些图像的请求(通过URL模式)并返回我自己的内容(即另一个图像),或者根据内部应用程序逻辑保持请求不变.
有可能吗?
编辑:目前的问题状态……
WebView具有设置WebViewClient的能力(如Axarydax所述). WebViewClient有两个有用的方法
> shouldOverrideUrlLoading
> onl oadResource
shouldOverrideUrlLoading能够拦截任何URL加载,如果加载是由页面交互触发的(即单击页面上的链接,则WebView.loadURL(“”)不会触发此方法).它还可以通过返回false来取消URL加载.这种方法不可用,导致’它无法拦截页面资源的加载(和图像,我需要拦截的是这样的页面资源).
onLoadResource每次加载页面资源(和图像!thx到jessyjones)时都会触发,但是没有办法取消它.这使得这种方法也不适合我的任务.
解决方法:
看起来API级别11支持您所需的内容.见WebViewClient.shouldInterceptRequest()
.
标签:android,android-webview,webviewclient 来源: https://codeday.me/bug/20190925/1817091.html