我了解您可以使用 WebViewClient 覆盖Android WebView功能,并且已在许多领域成功实施。覆盖不提供对请求对象的访问权限。
iPhone UIWebView有一种非常强大的方法来控制每个请求对象。在Android WebView中有另一种方法吗?
即使您使用 loadUrl 函数添加自定义标头,也不会将其添加到后续请求中。我在其他问题上看到了很多回复,但它们并不令人满意。
有人可以提供一些有关如何实现此功能的见解吗?
感谢。
答案 0 :(得分:2)
这是你可能已经知道的。在Android 18之后,您可以“添加”标题。否则,您可以更改用户代理。我查看了WebView源代码。代码深处的四个对象是带有此调用的WebViewFrame对象:
private native void nativeLoadUrl(String url, Map<String, String> headers);
C代码中更深层次的是加载谷歌想要推倒我们的喉咙。我们现在可以添加新的,但是他们的选择会受到影响。 “开源”显然意味着“将您的工作捐赠给企业利润”。他们选择Apache许可证而不是GNU GPL是有原因的。但我离题了。
正如我们在陆军中所说的那样,底线是我们在这里以安卓为单位。所以这是一个想法:
不要使用loadUrl。也许您可以编写自己的loadPage并使用Java进行调用,然后使用webview将响应作为数据加载。可能必须向应用程序添加一个jar文件,以用于Android尝试切断Java的任何内容。我要试试这个。