Как я могу получить информацию прокси с телефона? android.net.Proxy.getPort не работает - PullRequest
1 голос
/ 11 ноября 2011

мое приложение пытается получить информацию о прокси из приложения, используя android.net.Proxy, и затем устанавливает информацию на моей карте. Он отлично работает на Nexus One, но в других телефонах, таких как Samsung Galaxy, он получает значение -1 для порта, хост работает нормально.

Я искал повсюду и не могу понять, почему возвращается это значение, даже после того, как я установил значение прокси-порта на телефоне, я также прочитал, что этот метод android.net.Proxy.getHost () и android.net.Proxy.getPort () устарела, поэтому мой вопрос:

Как я могу получить информацию прокси с телефона?

Спасибо.

Ответы [ 2 ]

2 голосов
/ 11 ноября 2011

Попробуйте следующее:

String port = System.getProperty("http.proxyPort");
String hostName = System.getProperty("http.proxyHost");
1 голос
/ 28 ноября 2012

Более подробный ответ здесь: Получение настроек прокси WiFi в Android


В настоящее время я делаю следующее:

    private static final boolean IS_ICS_OR_LATER = Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH;

    ...

    String proxyAddress;
    int proxyPort;

    if( IS_ICS_OR_LATER )
    {
        proxyAddress = System.getProperty( "http.proxyHost" );

        String portStr = System.getProperty( "http.proxyPort" );
        proxyPort = Integer.parseInt( ( portStr != null ? portStr : "-1" ) );
    }
    else
    {
        proxyAddress = android.net.Proxy.getHost( context );
        proxyPort = android.net.Proxy.getPort( context );
    }

Однако это толькоработает для общесистемных настроек прокси на устройствах до 3.1, так как определенные настройки прокси для WiFi-точки еще не были реализованы.И прокси-сервер System Wide не может быть легко установлен через стандартный пользовательский интерфейс Android.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...