我想知道用户或开发人员是否可以在Android版本2.x中设置Wi-Fi接入点代理设置(我知道可以将3.x或更高版本的AP配置编辑到无线设置),以便通过以下方式从代码中获取设置:
ProxySelector defaultProxySelector = ProxySelector.getDefault();
List<Proxy> proxyList = defaultProxySelector.select("http://www.google.it");
Run Code Online (Sandbox Code Playgroud)
(这应该是获取Android设备当前代理配置的正确方法)
我知道Android源代码中有一个隐藏的Activity,叫做ProxySelector(请注意,它有相同的名称java.net.ProxySelector,但它是一个Android Activity,它位于包上:)com.android.settings.ProxySelector但是它设置了类似于全局代理配置的东西这似乎被默认的ProxySelector类忽略了.
这个问题是因为似乎对于Android 3.x或更高版本的标准使用方式java.net.ProxySelector似乎没有问题,但不适用于Android 2.x版本.这是改变了的行为还是我做错了什么?
我们是否应该使用Android 2.x版本的全局代理设置?顺便说一下,我们可以通过以下方式读取全局代理设置:
Settings.Secure.getString(getApplicationContext().getContentResolver(),Settings.Secure.HTTP_PROXY);
Run Code Online (Sandbox Code Playgroud) 我在使用Android 3.2的Motorola Xoom上运行了一些带有wifi代理设置的测试.首先,与2.x版本相比,这是向前迈出的一大步.现在,如果您设置代理,大多数应用程序会自动获取它(在2.x中,只有内置浏览器使用它).所以我尝试了雅虎财经,彭博等等,他们都通过代理罚款.我没有得到的是一些浏览器,如firefox,Opera,不会通过代理.知道他们是怎么做到的.基本上在我的应用程序中,我如何决定是否要使用代理或尝试直接连接.根据我的测试,如果我们不做任何特殊的事情,默认是使用代理.那么我需要做些什么来允许我的应用程序绕过像Firefox/Opera这样的代理?
谢谢!