¿Cómo mantenerse conectado a través de la red móvil después de que WIFI esté conectado en Android?

Me di cuenta de que mientras que la transmisión de audio desde un servidor remoto a través de 3G (móvil) de conexión y mientras que el WIFI está desconectado o apagado, tan pronto como Wi-Fi está activado y conectado, la conexión a través de 3G se cayó.

Quiero que la aplicación siga utilizando 3G, incluso si WIFI está conectado demasiado ahora. Quiero hacer esto para mantener la continuidad. (Usuario puede opt-in / out a / de este comportamiento).

¿Hay una bandera especial, cerradura, etc. Para este propósito?

One Solution collect form web for “¿Cómo mantenerse conectado a través de la red móvil después de que WIFI esté conectado en Android?”

Esto no es posible en dispositivos anteriores a Android 5.0 (Lollipop). El sistema operativo sólo mantiene una interfaz a la vez, y las aplicaciones no tienen ningún control sobre esta opción.

En los dispositivos que ejecutan Android 5.0 o posterior, puede utilizar las nuevas API de multi-redes para seleccionar la interfaz que desea utilizar para el tráfico de red.

Estos son los pasos para hacer esto, desde el changelog de Android 5.0 :

Para seleccionar y conectarse a una red dinámicamente desde su aplicación, siga estos pasos:

  1. Cree un ConnectivityManager .
  2. Utilice la clase NetworkRequest.Builder para crear un objeto NetworkRequest y especifique las características de red y el tipo de transporte en el que está interesada su aplicación.
  3. Para buscar redes adecuadas, llame a requestNetwork() o registerNetworkCallback() y pase el objeto NetworkRequest y una implementación de ConnectivityManager.NetworkCallback . Utilice el método requestNetwork() si desea cambiar activamente a una red adecuada una vez que se ha detectado; Para recibir sólo notificaciones de redes escaneadas sin cambiar activamente, utilice el método registerNetworkCallback() .

Cuando el sistema detecta una red adecuada, se conecta a la red e invoca la devolución de llamada onAvailable (). Puede utilizar el objeto Red de la devolución de llamada para obtener información adicional acerca de la red o para dirigir el tráfico a utilizar la red seleccionada.

Específicamente, si desea forzar su tráfico a través de 3G / LTE, incluso si hay una señal WiFi presente, utilizaría algo como esto:

 ConnectivityManager cm = (ConnectivityManager) context.getSystemService( Context.CONNECTIVITY_SERVICE); NetworkRequest.Builder req = new NetworkRequest.Builder(); req.addTransportType(NetworkCapabilities.TRANSPORT_CELLULAR); cm.requestNetwork(req.build(), new ConnectivityManager.NetworkCallback() { @Override public void onAvailable(Network network) { // If you want to use a raw socket... network.bindSocket(...); // Or if you want a managed URL connection... URLConnection conn = network.openConnection(...); } // Be sure to override other options in NetworkCallback() too... } 
  • Compruebe si la red ScanResult ya está configurada (existe en la lista getConfiguredNetworks ())
  • ¿Cómo obtener la seguridad WiFi (NINGUNA, WEP, WPA, WPA2) de Android WifiConfiguration entrada?
  • Android wifi sniffer: encuentra dispositivos cercanos
  • Retraso / retraso enorme de UDP con Android
  • Analizar todos los dispositivos wifi cerca del teléfono
  • Búsqueda de puntos de acceso Wi-Fi en Android mientras está en modo punto de acceso
  • Android, cómo manejar el cambio en la red (de GPRS a Wi-fi y viceversa) mientras que el sondeo para los datos
  • Android: Compruebe que la red 3G o Wifi está ACTIVADA o Disponible o no en Android Dispositivo
  • Android: Cómo obtener el dispositivo actual WiFi-nombre directo
  • Obtener estadísticas de tráfico wifi android
  • ¿Cómo obtener el nombre de la red wifi fuera de android utilizando la API de Android?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.