Как пользователи/разработчики могут установить конфигурацию прокси-сервера Android для версий 2.x?
Я хотел бы узнать, возможно ли это для пользователя или для разработчиков установить параметры прокси-сервера точки доступа Wi-Fi в версиях Android 2.x(я знаю, что это возможно для версий 3.x или более AP в настройках беспроводной сети), чтобы получить настройки из кода следующим образом:
ProxySelector defaultProxySelector = ProxySelector.getDefault();
List<Proxy> proxyList = defaultProxySelector.select("http://www.google.it");
(это должен быть правильный путь, чтобы получить текущую конфигурацию прокси-сервера на устройстве Android)
Я знаю, что в исходный код Android есть скрытая активность, называемая ProxySelector (будьте осторожны, у нее одно и то же имя java.net.ProxySelector
, но это Android-активность и она находится на упаковке: 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);
Ответы
Ответ 1
Я не думаю, что поддержка прокси-серверов Wi-Fi на уровне платформы была до Gingerbread или preverhaps Honeycomb.
Edit:
Инженер Android, который работает на этой части платформы, подтверждает, что система не имела прокси для разных типов сетей (например, Wi-Fi) до Honeycomb. Таким образом, нет "официального" способа получить прокси-сервер Wi-Fi для 2.x.