Как приложение Android решает, хотят ли они использовать сетевой прокси или нет - PullRequest
1 голос
/ 03 марта 2012

Я провел некоторое тестирование с настройками прокси-сервера Wi-Fi на Motorola Xoom с Android 3.2. Итак, прежде всего, это большой шаг вперед по сравнению с выпусками 2.x. теперь, если вы установите прокси, большинство приложений получат его автоматически (в 2.x его использует только встроенный браузер). Поэтому я попробовал такие вещи, как финансы Yahoo, Bloomberg и т. Д., И все они прошли через прокси нормально. Чего я не получаю, так это того, что некоторые браузеры, такие как Firefox, Opera, не будут проходить через прокси. Любая идея, как они это сделали. В основном в моем приложении, как я могу решить, хочу ли я использовать прокси или попытаться подключиться напрямую. На основании моего тестирования, если мы не делаем ничего особенного, по умолчанию используется прокси. Итак, что мне нужно сделать, чтобы мое приложение могло обойти прокси, например Firefox / Opera?

Спасибо!

1 Ответ

7 голосов
/ 03 марта 2012

На устройствах с версией API> = 11 (Android 3.1 и выше) ответ здесь:

Запутанные ресурсы документации по прокси Android

Вы можете просто позвонитьgetDefault () из класса ProxySelector и получите реализацию ProxySelector для Android по умолчанию.

ProxySelector defaultProxySelector = ProxySelector.getDefault();
Proxy proxy = null;
List<Proxy> proxyList = defaultProxySelector.select(uri);
if (proxyList.size() > 0)
{
  proxy = proxyList.get(0);
  Log.d(TAG, "Current Proxy Configuration: " + proxy.toString());
}

Я думаю, что некоторые приложения Android (вы сказали, Opera и Firefox) просто не выполняют эту проверку, но реализуют некоторые нативныеработа с прокси не заботится о том, как работает система.

...