我正在尝试拦截并停止加载webView
上的所有mp4视频,为此我使用shouldInterceptRequest
。我能够拦截视频并显示对话框,但是我无法停止加载它们,有任何想法吗?
webView.setWebViewClient(new WebViewClient() {
@SuppressWarnings("deprecation")
@Override
public WebResourceResponse shouldInterceptRequest(final WebView view, String url) {
try {
if (url.contains(".mp4?")) {
return getResponseData();
}
} catch (Exception e) {
e.printStackTrace();
}
return super.shouldInterceptRequest(view, url);
}
private WebResourceResponse getResponseData() {
try {
String str = "Access Denied";
InputStream data = new ByteArrayInputStream(str.getBytes("UTF-8"));
return new WebResourceResponse("text/css", "UTF-8", data);
} catch (IOException e) {
return null;
}
}
getResponseData
方法没有返回 null 吗?这会导致视频继续加载。你尝试使用 IDE 调试应用程序以查看它到底在做什么了吗? - NasaGeekif(url.contain(".mp4?"))
后面加上一个日志。为什么在.mp4
后面要加上?
?如果日志不显示,请使用if(url.endsWith(".mp4"))
。 - mehdok