其他分享
首页 > 其他分享> > android – 拦截并覆盖来自WebView的HTTP请求

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