En Android 12 o superior, los fabricantes de dispositivos pueden adoptar opcionalmente una experiencia de conectividad simplificada que ayuda a los usuarios a comprender mejor sus conexiones de red, cambiar entre proveedores de Internet y solucionar problemas de conectividad de red. Estos cambios en la experiencia del usuario en comparación con Android 11 o versiones anteriores se reflejan en la interfaz de usuario, la iconografía y los cambios de API para Configuración rápida y Configuración. Todos estos cambios están disponibles en AOSP para que los fabricantes de dispositivos los habiliten tal cual o los personalicen.
Descripción general de la experiencia de conectividad simplificada
Esta sección describe los principales cambios en la interfaz de usuario de la experiencia de conectividad simplificada en AOSP a partir de Android 12.
Mosaico de Internet en Configuración rápida
El menú de Configuración rápida incluye un mosaico de Internet que abre un panel de Internet donde los usuarios pueden cambiar entre conexiones Wi-Fi y celulares. El mosaico de Internet combina los mosaicos de Wi-Fi y Datos móviles utilizados en Android 11 o versiones anteriores.
Figura 1. Mosaico de Internet en Configuración rápida
Sección de llamadas y SMS en Configuración
La aplicación Configuración incluye una sección de Llamadas y SMS en Red e Internet que muestra el estado de disponibilidad y las opciones de llamadas por Wi-Fi.
Figura 2. Sección de llamadas y SMS en Configuración
Botón de reinicio en Configuración
En la aplicación Configuración, Red e Internet > Internet incluye un botón de reinicio que permite a los usuarios restablecer los módems de telefonía y Wi-Fi en el dispositivo, lo que puede ser útil para solucionar problemas de conectividad de red.
Figura 3. Botón de reinicio para solucionar problemas de conectividad
Implementación
Para habilitar la experiencia de conectividad simplificada en su dispositivo, use el siguiente indicador de configuración global:
- Nombre:
persist.sys.fflag.override.settings_provider_model
- Tipo: Booleano
- Valor: configúrelo en
true
para habilitar el comportamiento de simplificación de la conectividad,false
para deshabilitarlo y utilizar el comportamiento heredado. A partir de Android 12, la ruta del códigofalse
ya no se mantiene activamente.
Además, puede configurar los siguientes modos de la interfaz de usuario para operadores individuales usando la configuración del operador . Las claves de configuración son:
-
CarrierConfigManager#KEY_CARRIER_PROVISIONS_WIFI_MERGED_NETWORKS_BOOL
: un valor booleano que indica si el operador configura redes Wi-Fi que forman parte de su red principal y se muestran como parte de la red celular. Esto funciona en conjunto con el métodoWifiNetworkSuggestion.Builder#setCarrierMerged(booleanisCarrierMerged)
. -
CarrierConfigManager#KEY_USE_IP_FOR_CALLING_INDICATOR_BOOL
: un valor booleano que indica si la conectividad de la red de datos (IP) se utiliza como condición complementaria para bloquear la visualización del icono de no llamada . -
CarrierConfigManager#KEY_DISPLAY_CALL_STRENGTH_INDICATOR_BOOL
: un booleano que indica si el icono de intensidad de la llamada se muestra en la interfaz de usuario del sistema.
API de marco
Para desactivar temporalmente las redes Wi-Fi cercanas, utilice las siguientes API:
-
WifiManager#startRestrictingAutoJoinToSubscriptionId(int subscriptionId)
: permite al usuario seleccionar una red de operador sin deshabilitar Wi-Fi. Desactiva todas las redes Wi-Fi visibles actualmente durante una duración mínima de 30 minutos (controlada a través de la superposiciónconfig_wifiAllNonCarrierMergedWifiMinDisableDurationMinutes
) y una duración máxima de 6 horas (controlada a través de la superposiciónconfig_wifiAllNonCarrierMergedWifiMaxDisableDurationMinutes
). Las redes Wi-Fi se vuelven a habilitar cada vez que se activa Wi-Fi, se reinicia el dispositivo, si el usuario selecciona una red Wi-Fi (en cuyo caso la APIstopRestrictingAutoJoinToSubscriptionId()
se ejecuta mediante Configuración) o si la red no está visible durante 60 minutos. -
WifiManager#stopRestrictingAutoJoinToSubscriptionId()
: restaura el funcionamiento normal.
Para admitir el botón de reinicio y la interfaz de usuario de solución de problemas, que se implementa en la clase com.android.settingslib.connectivity.ConnectivitySubsystemsRecoveryManager
, utilice las siguientes API:
-
WifiManager#restartWifiSubsystem(String reason)
: reinicia el subsistema Wi-Fi. -
TelephonyManager#rebootRadio()
: Restablece el módem de radio.
Trabajar con múltiples operadores
Si adopta la experiencia de conectividad simplificada para ciertos operadores pero no para otros, tenga en cuenta el escenario multi-SIM, donde un usuario usa dos SIM, una de un operador asociado que ha optado por los cambios en la interfaz de usuario y la otra no. En este escenario, asegúrese de decidir qué interfaz de usuario ven los usuarios y de probar minuciosamente el comportamiento en sus dispositivos.