Как пользователи / разработчики могут настроить конфигурацию прокси Android для версий 2.x?

Я хотел бы знать, возможно ли для пользователя или разработчиков установить настройки прокси-сервера точки доступа Wi-Fi в Android версии 2.x (я знаю, что для версий 3.x и выше это возможно, редактируя конфигурацию точки доступа в настройки беспроводной сети), чтобы получить настройки из кода следующим образом:

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);

person lechuckcaptain    schedule 25.02.2012    source источник


Ответы (1)


Я не думаю, что до Gingerbread или, возможно, Honeycomb, существовала какая-либо поддержка прокси Wi-Fi на уровне платформы.

Изменить:
Инженер Android, работающий над этой частью платформы, подтверждает, что в системе не было прокси для разных типов сетей (например, Wi-Fi) до Honeycomb. Так что не существует "официального" способа получить прокси Wi-Fi для 2.x.

person Sparky    schedule 13.03.2012
comment
Ой, здорово: -О !! Есть ли у вас какие-нибудь предложения по решению этой проблемы, чтобы удовлетворить множество разгневанных пользователей (из текущего дистрибутива более 95%)? - person lechuckcaptain; 14.03.2012
comment
Как вы думаете, возможно ли установить общесистемные свойства системы (http.proxyHost, http.proxyPort, ...), считываемые реализацией ProxySelector по умолчанию (goo.gl/dAZ8j), чтобы разработчики могли продолжать использовать стандартный способ использования ProxySelector? - person lechuckcaptain; 15.03.2012
comment
Ознакомьтесь с этим сообщением для более подробного объяснения: stackoverflow.com/questions/10811698/ - person Adam; 29.11.2012
comment
знаете ли вы, могу ли я программно узнать, есть ли у Wi-Fi блокировка служб, таких как WhatsApp Instagram и т. д.? - person Skizo-ozᴉʞS; 22.07.2015