Dans Android 12 ou version ultérieure, les fabricants d'appareils peuvent éventuellement adopter une expérience de connectivité simplifiée qui aide les utilisateurs à mieux comprendre leurs connexions réseau, à passer d'un fournisseur d'accès à Internet à un autre et à résoudre les problèmes de connectivité réseau. Ces changements dans l'expérience utilisateur par rapport à Android 11 ou version antérieure se reflètent dans l'interface utilisateur, l'iconographie et les modifications apportées aux API pour les paramètres rapides et les paramètres. Toutes ces modifications sont disponibles dans AOSP pour que les fabricants d'appareils puissent les activer telles quelles ou les personnaliser.
Présentation de l'expérience de connectivité simplifiée
Cette section décrit les principales modifications apportées à l'interface utilisateur de l'expérience de connectivité simplifiée dans AOSP à partir d'Android 12.
Bloc "Internet" dans les Réglages rapides
Le menu "Réglages rapides" inclut un bloc Internet qui ouvre un panneau Internet permettant aux utilisateurs de basculer entre les connexions Wi-Fi et mobiles. Le bloc Internet combine les blocs Wi-Fi et Données mobiles utilisés dans Android 11 ou version antérieure.
Figure 1 : Bloc "Internet" dans les Réglages rapides
Section "Appels et SMS" dans les paramètres
L'application Paramètres inclut une section Appels et SMS sous Réseau et Internet qui affiche l'état de disponibilité et les options d'appel Wi-Fi.
Figure 2. Section "Appels et SMS" dans les paramètres
Bouton "Réinitialiser" dans les paramètres
Dans l'application Paramètres, Réseau et Internet > Internet inclut un bouton de réinitialisation qui permet aux utilisateurs de réinitialiser les modems de téléphonie et Wi-Fi sur l'appareil. Cela peut être utile pour résoudre les problèmes de connectivité réseau.
Figure 3. Bouton de réinitialisation pour résoudre les problèmes de connectivité
Implémentation
Pour activer l'expérience de connectivité simplifiée sur votre appareil, utilisez l'indicateur de paramètre global suivant :
- Nom :
persist.sys.fflag.override.settings_provider_model
- Type : booléen
- Valeur : définissez sur
true
pour activer le comportement de simplification de la connectivité, ou surfalse
pour le désactiver et utiliser l'ancien comportement. À partir d'Android 12, le chemin de code pourfalse
n'est plus activement maintenu.
Vous pouvez également configurer les modes suivants de l'interface utilisateur pour les transporteurs individuels à l'aide de la configuration des transporteurs. Voici les clés de configuration :
CarrierConfigManager#KEY_CARRIER_PROVISIONS_WIFI_MERGED_NETWORKS_BOOL
: valeur booléenne indiquant si l'opérateur configure les réseaux Wi-Fi qui font partie de son réseau principal et qui sont affichés dans le réseau mobile. Cette méthode fonctionne de concert avec la méthodeWifiNetworkSuggestion.Builder#setCarrierMerged(booleanisCarrierMerged)
.CarrierConfigManager#KEY_USE_IP_FOR_CALLING_INDICATOR_BOOL
: valeur booléenne indiquant si la connectivité au réseau de données (IP) est utilisée comme condition supplémentaire pour afficher l'icône Pas d'appel.CarrierConfigManager#KEY_DISPLAY_CALL_STRENGTH_INDICATOR_BOOL
: valeur booléenne indiquant si l'icône Intensité de l'appel est affichée dans l'UI système.
API du framework
Pour désactiver temporairement les réseaux Wi-Fi à proximité, utilisez les API suivantes :
WifiManager#startRestrictingAutoJoinToSubscriptionId(int subscriptionId)
: permet à l'utilisateur de sélectionner un réseau d'opérateur sans désactiver le Wi-Fi. Désactive tous les réseaux Wi-Fi visibles pendant une durée minimale de 30 minutes (contrôlée par la superpositionconfig_wifiAllNonCarrierMergedWifiMinDisableDurationMinutes
) et une durée maximale de 6 heures (contrôlée par la superpositionconfig_wifiAllNonCarrierMergedWifiMaxDisableDurationMinutes
). Les réseaux Wi-Fi sont réactivés chaque fois que le Wi-Fi est activé/désactivé, que l'appareil est redémarré, si l'utilisateur sélectionne un réseau Wi-Fi (dans ce cas, l'APIstopRestrictingAutoJoinToSubscriptionId()
est exécutée par les paramètres) ou si le réseau n'est pas visible pendant 60 minutes.WifiManager#stopRestrictingAutoJoinToSubscriptionId()
: restaure le fonctionnement normal.
Pour prendre en charge le bouton de réinitialisation et l'interface utilisateur de dépannage, qui sont implémentés dans la classe com.android.settingslib.connectivity.ConnectivitySubsystemsRecoveryManager
, utilisez les API suivantes :
WifiManager#restartWifiSubsystem(String reason)
: redémarre le sous-système Wi-Fi.TelephonyManager#rebootRadio()
: réinitialise le modem radio.
Travailler avec plusieurs opérateurs
Si vous adoptez l'expérience de connectivité simplifiée pour certains opérateurs, mais pas pour d'autres, tenez compte du scénario multi-SIM, dans lequel un utilisateur utilise deux cartes SIM, l'une provenant d'un opérateur partenaire qui a opté pour les modifications de l'UI, tandis que l'autre ne l'a pas fait. Dans ce scénario, assurez-vous de choisir l'UI que les utilisateurs voient et de tester minutieusement le comportement sur vos appareils.