sábado, 20 de febrero de 2010

programacion android: como saber mediante que tipo de red estamos conectados

Os dejo aquí el código fuente de un programa para android, con el cual podemos saber a que tipo de red esta conectado nuestro teléfono. EDGE, GPRS, UMTS, WIFI.
package com.tutoriales.ejemplo;

import android.app.Activity;
import android.content.Context;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.os.Bundle;
import android.widget.TextView;
//import android.os.Parcelable;
public class ejemplo extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
TextView tv = new TextView(this);
tv.setText("Hola");
setContentView(tv);
ConnectivityManager mgr = (ConnectivityManager) getBaseContext()
.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo netInfo = mgr.getActiveNetworkInfo();
if (netInfo != null) {
if (netInfo.getState() == NetworkInfo.State.CONNECTED
&& netInfo.isAvailable()) {

if (netInfo.getSubtypeName().equalsIgnoreCase("EDGE")) {
tv.setText("EDGE");
}
if (netInfo.getSubtypeName().equalsIgnoreCase("GPRS")) {
tv.setText("GPRS");
}
if (netInfo.getSubtypeName().equalsIgnoreCase("UMTS")) {
tv.setText("UMTS");
}
if (netInfo.getTypeName().equalsIgnoreCase("WIFI")) {
tv.setText("WIFI");
}
}
}
}
}

Fuente | anddev.org

4 comentarios:

  1. Hola!!
    Intentè correr el codigo que proporcionas, pero me sale error, creo puede ser por algunos permisos necesarios, sabes algo de eso?

    Gracias, Saludos

    ResponderEliminar
  2. sip, tienes que poner los permisos en el fichero androidmanifiest.xml

    ResponderEliminar
  3. ahh, lo logre correr muchas gracias.

    Lo corrì en el emulador de Android de eclipse. Sabràs como puedo deshabilitar la red celular en el emulador (la 3G)?

    Gracias, espero tu respuesta.

    ResponderEliminar
  4. No lo se, tendrás que mirar en la documentación.,Un saludo

    ResponderEliminar