2013-12-20 183 views
2

我知道您可以使用 WebViewClient覆盖Android WebView功能,并已在许多方面成功实施。覆盖不允许访问请求对象。Android WebView为每个响应添加自定义HTTP标头

iPhone的UIWebView有一个非常强大的方式来控制每个请求对象。在Android WebView中有另一种方法吗?

即使您使用 loadUrl函数来添加自定义标头,它也不会被添加到后续请求中。我在其他问题上看到了很多答案,但它们并不令人满意。

任何人都可以请提供一些见解如何实现此功能?

谢谢。

回答

2

以下是您可能已经知道的内容。 Android 18之后,您可以“添加”标题。否则,您可以更改用户代理。我查看了WebView源代码。四个对象深处的代码与此呼叫WebViewFrame对象:

private native void nativeLoadUrl(String url, Map<String, String> headers); 

所以更深C代码失望的是,谷歌想推了我们的喉咙头的加载。现在我们可以添加新的,但是他们的选择是坚持的。 “开源”的意思是“捐献你的工作到公司的利润”。有一个原因是他们选择了GNU GPL的Apache许可证。但我离题了。

就像我们在陆军中所说的那样,底线就是我们在这里Android是Android。所以这里有一个想法:

不要使用loadUrl。也许你可以编写自己的loadPage,只需使用Java进行调用,然后使用webview将响应作为数据加载。可能必须为应用程序添加一个jar文件,以应对Android试图切断Java的任何内容。我要去试试这个。

相关问题