您可以通过这样的覆盖来获取 WebView尝试加载的资源列表:WebViewClient.shouldInterceptRequest
class MyWebViewClient extends WebViewClient {
@Override
public WebResourceResponse shouldInterceptRequest(WebView view, String url) {
android.util.Log.i("MyWebViewClient", "attempting to load resource: " + url);
return null;
}
@Override
public WebResourceResponse shouldInterceptRequest(WebView view, WebResourceRequest request) {
android.util.Log.i("MyWebViewClient", "attempting to load resource: " + request.getUrl());
return null;
}
}
请记住,这shouldInterceptRequest
是在后台线程上调用的,因此您需要同步访问任何共享数据结构。
但是,没有 Java API 可以确定 WebView 是否已成功加载给定资源。