Dans Android Lollipop 5.0, j'ai remarqué que les "Options du développeur" comportent une case à cocher pour le "transfert agressif du Wi-Fi au cellulaire" qui est décochée par défaut. Quelqu'un sait-il à quoi sert ce paramètre et pourquoi il est désactivé par défaut et caché dans les options du développeur ?
Réponses
Trop de publicités?Le code pour shouldSwitchNetwork()
explique le mieux ce qu'il fait. Il réduit artificiellement le RSSI WiFi (indication de la force du signal reçu) pour encourager la machine à état WiFi à décider de basculer la connexion du WiFi au réseau cellulaire. Autour de ligne 3559 de WifiStateMachine.java ( ligne 4262 pour Android 6.0.1_r10) :
int rssi = mWifiInfo.getRssi() - 6 * mAggressiveHandover
+ (homeNetworkBoost ? WifiConfiguration.HOME_NETWORK_RSSI_BOOST : 0);
La variable mAggressiveHandover
est un int
c'est-à-dire réglé sur 0 ou 1 par les paramètres du développeur :
private void writeWifiAggressiveHandoverOptions() {
mWifiManager.enableAggressiveHandover(mWifiAggressiveHandover.isChecked() ? 1 : 0);
}
El rssi
Cette variable influence ensuite la façon dont la connexion est classée : isBadRSSI
, isLowRSSI
ou isHighRSSI
.
Quant à savoir pourquoi ce paramètre est caché dans les options du développeur, je dirais que c'est parce qu'il semble un peu bricolé, avec un scalaire apparemment arbitraire (6) qu'un développeur a inventé pour orienter le comportement dans la direction souhaitée. Google n'est probablement pas certain des conséquences de ce paramètre et de la manière optimale de l'ajuster. rssi
. Si je me trompe et que cela a une signification quelconque, je serai heureux de l'admettre et d'expliquer ici pourquoi.
Désactiver ce paramètre ne désactive PAS complètement le transfert cellulaire. . La connexion WiFi obtient toujours un score et est désactivée si le score est trop bas. Mais bon, le score initial est aussi fixé arbitrairement.
Le passage du Wifi au cellulaire est une fonction des téléphones qui permet de passer automatiquement aux données cellulaires lorsque vous ne disposez pas d'une connexion WiFi solide. Vous souhaitez activer cette fonction pour plusieurs raisons :
- Il économise la batterie - Si votre téléphone ne bascule pas vers les données cellulaires lorsqu'il ne peut pas se connecter à une connexion Wifi, il continuera à rechercher le WiFi, consommant ainsi de la batterie.
- Vous n'aurez pas à désactiver le WiFi lorsque vous quittez votre maison ou lorsque vous n'avez pas de connexion afin d'utiliser les données.
Non, il ne désactive PAS complètement la fonction et ne l'active pas non plus en l'activant, elle peut UNIQUEMENT être activée/désactivée dans le menu Paramètres → Wi-Fi → Wi-Fi avancé (l'icône à trois points dans le coin supérieur droit), puis en cochant la case à côté de "Smart switch" (Verizon Samsung Galaxy Note 4 Android 5.1.1), sinon la fonction uniquement La chose que vous faites honnêtement via le menu des développeurs est simplement de forcer cette même option à fonctionner si/quand votre téléphone est en train de faire l'expérience d'un problème de sécurité. tout type de le "hoquet" du réseau et dans un chemin oublie de changer le type de réseau. Je suppose que vous podría Considérez-le comme un rappel brutal au système pour qu'il modifie sa connexion Internet du Wi-Fi aux données cellulaires, et/ou vice-versa.