我认为在Android代理主题方面存在许多混乱的资源。首先,似乎所有Proxy类的方法都被宣布为过时的,并建议使用标准的Java VM代理值来查找主机、端口和排除列表。这个调用会忽略排除列表。可以通过以下方式访问官方的Java VM代理值:
这似乎可以通过ProxySelector类的文档得到证实。
System.getProperty("http.proxyHost")
System.getProperty("http.proxyPort")
System.getProperty("http.nonProxyHosts")
这似乎可以通过ProxySelector类的文档得到证实。
但是在真实设备或仿真器上尝试时,这些值总是为空。在查看隐藏的ProxySelector活动的Android源代码后,似乎代理以以下方式保存到系统的安全设置中:
Settings.Secure.putString(res, Settings.Secure.HTTP_PROXY, hostname);
只有操作系统提供商签名的应用程序才能写入安全设置。开发人员只能以读模式访问这些设置,方法如下:
Settings.Secure.getString(getApplicationContext().getContentResolver(),Settings.Secure.HTTP_PROXY);
有人能够澄清一下如何访问Android代理设置吗?(至少看起来是有效的)。如果这是正确的解释,那么为什么文档充满了错误呢?