Pregunta

Necesito hacer HTTP solicitud en Android con conexión GSM, no Wifi.

Mi solución actual es desconectar de todas las conexiones Wi-Fi y realizar una solicitud. ¿Hay alguna solución mejor? No pude encontrar ningún métodos pertinentes de la API (Miré en org.apache.http paquete, pero parece que es completamente inconsciente de qué tipo de conexión se debe utilizar).

¿Fue útil?

Solución

  

pero parece que es completamente inconsciente de qué tipo de conexión debe utilizarse

correcta - indirección es su amigo - Servicios de ubicación (por ejemplo) son de la misma

Otros consejos

Si lo hace como se propone en la pregunta es perfecto si la necesidad de aplicación para enviar la solicitud HTTP a través de GSM ahora , en el momento en que se pone en marcha o en el momento de los factores desencadenantes de usuario esta acción.

Pero si las necesidades de aplicación para hacer o presentar una solicitud HTTP cuando el tipo de conexión es GSM que es un poco diferente. En ese último caso lo haría de esa manera:

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
}
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top