Obtener la intensidad de la señal de WIFI y datos móviles

En mi aplicación tengo que comprobar la velocidad de conexión de WiFi y Mobile Data y luego compararlo, a continuación, cambiar a la red que nunca tiene la mayor velocidad.

  • Entonces, ¿cómo puedo obtener la velocidad o la mejor potencia de la señal de wifi y datos móviles?
  • Cómo puedo cambiar uno apagado y otro en programatically.

Por favor, ayúdame. Una muestra sería útil.

Wifi:

WifiManager wifiManager = (WifiManager)context.getSystemService(Context.WIFI_SERVICE); int linkSpeed = wifiManager.getConnectionInfo().getRssi(); 

En caso de móvil debe funcionar:

 TelephonyManager telephonyManager = (TelephonyManager)this.getSystemService(Context.TELEPHONY_SERVICE); CellInfoGsm cellinfogsm = (CellInfoGsm)telephonyManager.getAllCellInfo().get(0); CellSignalStrengthGsm cellSignalStrengthGsm = cellinfogsm.getCellSignalStrength(); cellSignalStrengthGsm.getDbm(); 

Entonces usted debe comparar estos niveles de señal y si la señal WIFI es mejor mantenerlo encender, pero si móvil es mejor desconectar wifi

  • ¿Puede una red bluetooth o wifi (spp) perder alguna vez los bytes o haber corrompido?
  • ¿Cómo averiguar otro usuario conectado a la misma red WIFI con la que está en android?
  • Excepción de seguridad al acceder al wifi en android
  • Obtener la dirección MAC del dispositivo: cuando el wifi está desactivado
  • Conéctese a 802.1x WiFi con una etiqueta NFC
  • Android Personalizar la exploración Wifi
  • ¿Cómo crear un GO autónomo para Wifi Direct en Android con ssid dedicado y contraseña?
  • Evitar que el WiFi se apague
  • Android ESC / POS Impresión sobre WiFi
  • ¿Qué pasará con las conexiones existentes cuando cambie entre 3g / wifi
  • Compartir ajustes WiFi como QR-Code para WPA2 Enterprise
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.