【发布时间】:2012-02-17 17:08:23
【问题描述】:
在我看来,关于 Android 上的代理主题有很多令人困惑的资源。
首先,Proxy class 的所有方法似乎都被声明为弃用,建议:
"使用标准 java vm 代理值来查找主机、端口和 排除列表。此调用忽略排除列表。”
官方java vm proxy values可以通过以下方式访问:
System.getProperty("http.proxyHost")
System.getProperty("http.proxyPort")
System.getProperty("http.nonProxyHosts")
ProxySelector class 的文档似乎证实了这一点。
但是在真实设备或模拟器上尝试,这些值在我看来总是空的。看了隐藏ProxySelector activity的Android源码后,似乎是通过以下方式将代理保存到系统的安全设置中:
Settings.Secure.putString(res, Settings.Secure.HTTP_PROXY, hostname);
只有由操作系统提供商签名的应用程序才能写入安全设置。开发者只能通过以下方式在读取模式下访问这些设置:
Settings.Secure.getString(getApplicationContext().getContentResolver(),Settings.Secure.HTTP_PROXY);
有人可以澄清这是否是对如何将代理设置访问到 Android 的正确阅读? (至少它似乎有效)。如果这是正确的解释,为什么文档中充满了错误?
【问题讨论】:
-
你好 LeChuck 队长,使用三星 S2 和 android 2.3.3 你说的方法总是返回 null,但是为什么呢?
-
很遗憾,我没有三星 S2 可以尝试您所说的内容,但在我看来,这可能取决于三星或特定运营商所做的 ROM 定制。
-
@LeChuckCaptain 你好,可以给我邮箱吗?我对您的代理库有疑问。提前致谢。
-
你可以在这里找到我:github.com/lechuckcaptain
标签: android http proxy android-wifi