Использовать настройку Galaxy HTTP Proxy из программ

StackOverflow https://stackoverflow.com/questions/5063887

  •  16-11-2019
  •  | 
  •  

Вопрос

Как я могу программно прочитать настройки Wi-Fi-прокси?

GalaxyS и GalaxyTab имеют собственные настройки HTTP-прокси специально для Wi-Fi-подключения на уровне ОС.(Меню -> Настройки -> Беспроводная связь и сеть -> Настройка Wi-Fi -> Клавиша меню, а затем «Дополнительно»). Это очень хорошая функция, иначе вы не сможете использовать прокси-серверы из Wi-Fi.(Смотрите выпуск http://code.google.com/p/android/issues/detail?id=1273)

Теперь мое приложение использует http-соединение с обычным HttpClient.Я хочу прочитать настройки прокси-сервера из ОС и подключиться к ним, но не знаю, как их прочитать.

С помощью команды getprop я могу прочитать настройки прокси-сервера для APN, но не для Wi-Fi.Настройки прокси-сервера APN хранятся с ключом «net.gprs.http-proxy».

adb -d shell
$ getprop net.gprs.http-proxy
getprop net.gprs.http-proxy
http://proxy.example.com:8888/
$

Экран расширенных настроек Wi-Fi реализован в com.android.settings.wifi.AdvancedSettings, и, естественно, предпочтения сохраняются в /data/data/com.android.settings/shared_prefs/com.android.settings_preferences.xml.Я просто не могу прочитать файл из своего приложения, верно?

Думаю, я застрял, если только Samsung не предоставит специальный API для доступа к настройкам, но я не смог найти такой информации.Кстати, многие приложения, включая мое, будут иметь большие преимущества при настройке глобального HTTP-прокси, поэтому я надеюсь, что есть способ...

Это было полезно?

Решение

Будущие версии Android не будут использовать net.gprs.http-proxy.Вместо этого они будут использовать свойства виртуальной машины Java http.proxyHost, http.proxyPort и http.nonProxyHosts (также установлен https).Большинство стеков HTTP уже совместимы с этим стандартом, поэтому вам не нужно выполнять дополнительную работу в качестве разработчика приложений.

Настройки прокси-сервера будут считываться из базы данных APN (как это было раньше), но также будут считываться из базы данных для каждой точки доступа Wi-Fi, поэтому выиграют как Wi-Fi, так и мобильные данные.

Это имеет место в ХК и за его пределами.Если вы хотите проверить настройки прокси-сервера, вы можете просто использовать Java-вызов System.getProperty("http.proxyHost").

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top