Установите HTTP-соединение, используя сеть GSM, а не WiFi - PullRequest
0 голосов
/ 29 сентября 2010

Мне нужно сделать HTTP-запрос на Android, используя соединение GSM, а не Wi-Fi.

Мое текущее решение - отключиться от всех Wi-Fi-соединений и выполнить запрос.Есть ли лучшее решение?Я не смог найти подходящих методов в API (я посмотрел в пакете org.apache.http, но, похоже, он совершенно не знает, какой тип соединения следует использовать).

Ответы [ 2 ]

1 голос
/ 05 сентября 2011

Идеально, как предложено в вопросе, если приложение должно отправить HTTP-запрос через GSM сейчас , во время его запуска или во время запуска этого действия пользователем.

Но если приложению необходимо отправить HTTP-запрос , когда , тип подключения - GSM, это немного отличается.В этом последнем случае я бы сделал так:

private static boolean isOnlineUsingGsm(Context ctx) {
    final ConnectivityManager connectManager = (ConnectivityManager)ctx.getSystemService(Context.CONNECTIVITY_SERVICE);

    // Return true if connected thru GSM
    return connectManager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).getState() == NetworkInfo.State.CONNECTED;
}

private void somewhereInTheCode() {
    if (isOnlineUsingGsm(context)) {
        sendHttpRequest();
    }
    // else don't send it
}
0 голосов
/ 29 сентября 2010

но, похоже, он совершенно не знает, какой тип соединения следует использовать

правильно - косвенный адрес - ваш друг - Службы определения местоположения (например) просто такие же

...