【问题标题】:How to set a proxy in a WebView on Lollipop 5.0如何在 Lollipop 5.0 的 WebView 中设置代理
【发布时间】:2015-02-05 16:31:26
【问题描述】:

我的应用有一个 WebView,我想将它配置为使用代理。显然,Android 没有我可以用来实现此目的的 API,但我在 StackOverflow 上找到了几篇文章,展示了如何通过反射来做到这一点:

不幸的是,第一篇文章中的方法仅适用于 KitKat 4.4,而 Android L/5.0 的方法需要设置应用程序范围的代理设置(通过 System.setProperty("http.proxyHost", ...)System.setProperty("http.proxyPort", ...) 影响的不仅仅是 WebView . 例如,Apache HTTP 客户端似乎也接受了这些设置。

有没有办法只为 WebViews 设置代理设置而不影响应用的其他组件?

【问题讨论】:

    标签: android android-webview android-5.0-lollipop


    【解决方案1】:

    在 API>21 lollipop 中,它不允许在 webviews 中设置代理设置。这些方法已被删除。

    因此,现在唯一的方法是按照您提到的那样设置系统范围的代理,然后清除您活动的 onPauseonStop 方法上的代理。 可以通过以下方式清除:

    System.clearProperty("http.proxyHost");
    System.clearProperty("http.proxyPort");
    

    希望对您有所帮助。

    【讨论】:

      猜你喜欢
      • 2015-04-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多