En Android 12 o versiones posteriores, los fabricantes de dispositivos pueden adoptar de forma opcional una experiencia de conectividad simplificada que ayuda a los usuarios a comprender mejor sus conexiones de red, alternar entre los 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 de Configuración rápida y Configuración. Todos estos cambios están disponibles en AOSP para que los fabricantes de dispositivos los habiliten tal como están o los personalicen.
Descripción general de la experiencia de conectividad simplificada
En esta sección, se describen los principales cambios de la interfaz de usuario de la experiencia de conectividad simplificada en AOSP a partir de Android 12.
Tarjeta de Internet en la Configuración rápida
El menú Configuración rápida incluye una tarjeta de Internet que abre un panel de Internet en el que los usuarios pueden cambiar entre las conexiones Wi-Fi y móviles. La tarjeta Internet combina las tarjetas Wi-Fi y Datos móviles que se usan en Android 11 o versiones anteriores.
Figura 1: Tarjeta de Internet en la Configuración rápida
Sección Llamadas y SMS en Configuración
La app de Configuración incluye una sección Llamadas y SMS en Internet y redes que muestra el estado de disponibilidad y las opciones de Llamada por Wi-Fi.
Figura 2: Sección Llamadas y SMS en Configuración
Botón Restablecer en Configuración
En la app de Configuración, Redes y conexión a Internet > Internet, se incluye un botón de restablecimiento que permite a los usuarios restablecer los módems de telefonía y Wi-Fi en el dispositivo, lo que puede ser útil cuando se solucionan problemas de conectividad de red.
Figura 3: Botón de restablecimiento para solucionar problemas de conectividad
Implementación
Para habilitar la experiencia de conectividad simplificada en tu dispositivo, usa la siguiente marca de configuración global:
- Nombre:
persist.sys.fflag.override.settings_provider_model
- Tipo: booleano
- Valor: Establece
true
para habilitar el comportamiento de simplificación de la conectividad,false
para inhabilitarlo y usar el comportamiento heredado. A partir de Android 12, la ruta de código defalse
ya no se mantiene de forma activa.
Además, puedes configurar los siguientes modos de la interfaz de usuario para operadores individuales con la configuración del operador. Las claves de configuración son las siguientes:
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 móvil. Esto funciona en conjunto con el métodoWifiNetworkSuggestion.Builder#setCarrierMerged(booleanisCarrierMerged)
.CarrierConfigManager#KEY_USE_IP_FOR_CALLING_INDICATOR_BOOL
: Es un valor booleano que indica si se usa la conectividad de red de datos (IP) como condición complementaria para restringir la visualización del ícono sin llamadas.CarrierConfigManager#KEY_DISPLAY_CALL_STRENGTH_INDICATOR_BOOL
: Es un valor booleano que indica si se muestra el ícono de intensidad de la llamada en la IU del sistema.
APIs de Framework
Para inhabilitar temporalmente las redes Wi-Fi cercanas, usa las siguientes APIs:
WifiManager#startRestrictingAutoJoinToSubscriptionId(int subscriptionId)
: Permite que el usuario seleccione una red de operador sin inhabilitar Wi-Fi. Inhabilita todas las redes Wi-Fi visibles durante un período mínimo de 30 minutos (controlado a través de la superposiciónconfig_wifiAllNonCarrierMergedWifiMinDisableDurationMinutes
) y un período máximo de 6 horas (controlado a través de la superposiciónconfig_wifiAllNonCarrierMergedWifiMaxDisableDurationMinutes
). Las redes Wi-Fi se vuelven a habilitar cada vez que se activa o desactiva la conexión Wi-Fi, se reinicia el dispositivo si el usuario selecciona una red Wi-Fi (en cuyo caso la API destopRestrictingAutoJoinToSubscriptionId()
se ejecuta mediante Configuración) o si la red no está visible durante 60 minutos.WifiManager#stopRestrictingAutoJoinToSubscriptionId()
: Restablece el funcionamiento normal.
Para admitir el botón de restablecimiento y la interfaz de usuario de solución de problemas, que se implementa en la clase com.android.settingslib.connectivity.ConnectivitySubsystemsRecoveryManager
, usa las siguientes APIs:
WifiManager#restartWifiSubsystem(String reason)
: Reinicia el subsistema Wi-Fi.TelephonyManager#rebootRadio()
: Restablece el módem de radio.
Trabaja con varios operadores
Si adoptas la experiencia de conectividad simplificada para ciertos proveedores, pero no para otros, ten en cuenta el caso de varias tarjetas SIM, en el que un usuario usa dos SIM, una de un proveedor asociado que aceptó la IU cambia y la otra no. En esta situación, asegúrate de decidir qué IU ven los usuarios y de probar en detalle el comportamiento en tus dispositivos.