gpt4 book ai didi

java - 在 android webview 中阻止视频 - shouldInterceptRequest() 的替代方法

转载 作者:行者123 更新时间:2023-11-30 11:42:56 31 4
gpt4 key购买 nike

我在 android 中使用 webview 创建了一个网络浏览器。我的目标是在加载之前控制 webview 的内容。每当 webview 的内容向任何域服务器发出请求时,它都必须通过 shoulInterceptRequest() .如果 url 指向任何视频上传网站(youtube.com、vimeo.com),我可以将其更改为某个拒绝访问的 url,这样视频就不会被加载。

    @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 开始工作。

是否有任何替代方法来实现它?在加载任何数据之前,如果它指向任何视频上传站点,我需要阻止该 url。

最佳答案

如何使用 http://developer.android.com/reference/android/webkit/WebViewClient.html#shouldOverrideUrlLoading(android.webkit.WebView , java.lang.String) 事件?

您可以屏蔽该 url,然后调用 http://developer.android.com/reference/android/webkit/WebView.html#loadUrl(java.lang.String ) 来显示任何你想要的东西(甚至可以使用“javascript:do_something()”符号运行任意 javascript)

关于java - 在 android webview 中阻止视频 - shouldInterceptRequest() 的替代方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11471143/

31 4 0
文章推荐: 当嵌套在动态添加的
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com