Мне кажется, что есть много запутанных ресурсов относительно темы прокси на Android.
Прежде всего, похоже, что все методы класса Proxy объявлены устаревшими, и предлагается:
"Использовать стандартные значения java vm proxyчтобы найти хост, порт и список исключений. Этот вызов игнорирует список исключений. "
Официальные значения java vm proxy доступны следующим образом:
System.getProperty("http.proxyHost")
System.getProperty("http.proxyPort")
System.getProperty("http.nonProxyHosts")
Это может показаться подтвержденным документацией класса ProxySelector .
Но при попытке на реальном устройстве или эмуляторе эти значения кажутся мне всегда пустыми.После просмотра исходного кода Android скрытой активности ProxySelector создается впечатление, что прокси-сервер сохраняется в безопасных настройках системы следующим образом:
Settings.Secure.putString(res, Settings.Secure.HTTP_PROXY, hostname);
И толькоПриложение, подписанное поставщиком ОС, может записывать в безопасные настройки.Разработчики могут получить доступ к этим настройкам только в режиме чтения следующим образом:
Settings.Secure.getString(getApplicationContext().getContentResolver(),Settings.Secure.HTTP_PROXY);
Кто-то может уточнить, является ли это правильным прочтением того, как можно получить доступ к настройкам прокси-сервера в Android?(По крайней мере, это похоже на работу).Если это правильное толкование, почему в документации так много ошибок?