我在android中使用webview创建了一个web浏览器。我的目标是在加载之前控制webview的内容。每当webview的内容向任何域服务器发出请求时,它都必须通过shoulInterceptRequest()。如果网址指向任何视频上传网站(youtube.com,vimeo.com),我可以将其更改为某些拒绝访问的网址,以便视频不会被加载。在android webview中阻止视频 - shouldInterceptRequest()的替代方法
@Override
public WebResourceResponse shouldInterceptRequest(final WebView view, String url) {
try {
if (access.permission(url)) {
return super.shouldInterceptRequest(view, url);
}
} catch (Exception e) {
e.printStackTrace();
}
return getResponseData();
}
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;
}
}
但shoulInterceptRequest()从API 11.速效我需要它从API 8
工作有没有落实任何替代办法?如果要在加载任何数据之前将任何视频上传到网站,我需要阻止该网址。
shouldOverrideUrlLoading()只针对主URL,它是加载到webview中。也就是说,webview.loadUrl(www.example.com)。如果www.example.com包含视频,则日志不会显示该网址。它总是在shouldOverrideUrlLoading中显示www.test.com – 2012-07-14 02:05:58