我的应用有一个WebView,我想将其配置为使用代理。显然Android没有可用于实现此目的的API,但我在StackOverflow上发现了一些文章,展示了如何通过反射来实现它:
不幸的是,第一篇文章中的方法仅适用于KitKat 4.4和Android L / 5.0方法,需要设置应用程序范围的代理设置(通过System.setProperty("http.proxyHost", ...)
和System.setProperty("http.proxyPort", ...)
,这会影响更多而不仅仅是WebView。例如,Apache HTTP客户端似乎也接受了这些设置。
有没有办法在不影响应用的其他组件的情况下为WebViews 设置代理设置?
答案 0 :(得分:0)
在API> 21棒棒糖中,它不允许在网页视图中设置代理设置。方法已被删除。
因此,现在唯一的方法是按照您的提法设置系统范围的代理,然后清除活动的onPause
和onStop
方法的代理。
明确可以通过以下方式完成:
System.clearProperty("http.proxyHost");
System.clearProperty("http.proxyPort");
希望您觉得这很有帮助。