En Android Lollipop 5.0, noté que "Opciones de desarrollador" presenta una casilla de verificación para "Transferencia agresiva de Wi-Fi a celular" que está desmarcada de manera predeterminada. ¿Alguien sabe qué hace esta configuración y por qué está deshabilitada de forma predeterminada y oculta en las opciones de desarrollador?
El código para shouldSwitchNetwork()
explica mejor lo que hace. Simplemente reduce artificialmente el WiFi RSSI (indicación de intensidad de la señal recibida) para alentar a la máquina de estado WiFi a decidir cambiar la conexión de WiFi a la red celular. Alrededor de la línea 3559 de WifiStateMachine.java ( línea 4262 para Android 6.0.1_r10):
int rssi = mWifiInfo.getRssi() - 6 * mAggressiveHandover
+ (homeNetworkBoost ? WifiConfiguration.HOME_NETWORK_RSSI_BOOST : 0);
La variable mAggressiveHandover
es una int
que se establece en 0 o 1 por la configuración del desarrollador :
private void writeWifiAggressiveHandoverOptions() {
mWifiManager.enableAggressiveHandover(mWifiAggressiveHandover.isChecked() ? 1 : 0);
}
La rssi
variable pasa a influir en cómo se clasifica la conexión: isBadRSSI
, isLowRSSI
o isHighRSSI
.
En cuanto a por qué está oculto en las opciones de desarrollador, diría que se debe a que parece un poco raro, con un escalar aparentemente arbitrario (6) que se le ocurrió a algunos desarrolladores para empujar el comportamiento en la dirección deseada. Google probablemente no esté seguro de las consecuencias de esta configuración y la forma óptima de ajustar rssi
. Si me equivoco y esto es de alguna manera significativo, estoy feliz de admitirlo y explicar aquí por qué.
Desactivar esta configuración NO desactiva la transferencia celular por completo . La conexión WiFi sigue obteniendo una puntuación y se desactiva si la puntuación es demasiado baja. Pero bueno, la puntuación inicial también se establece de forma arbitraria.
Wifi to Cellular Handover es una función en los teléfonos que cambia automáticamente a datos móviles cuando no tienes una conexión WiFi fuerte. Querrá habilitar esto por varias razones:
No, NO desactiva la función por completo, ni la ACTIVARÁ al habilitarla, SOLO se puede ACTIVAR/DESACTIVAR en la configuración → Wi-Fi → Menú avanzado de Wi-Fi (El ícono de tres puntos en la parte superior derecha esquina) y luego marque la casilla junto a "Interruptor inteligente" (Verizon Samsung Galaxy Note 4 Android 5.1.1), de lo contrario, lo único que está haciendo honestamente a través del menú de desarrolladores es simplemente forzar esta misma opción para que funcione si / cuando su teléfono está experimentando cualquier tipo de "hipo" de red , y de alguna manera se olvida de cambiar el tipo de red. Supongo que podría pensar en ello como un recordatorio contundente o abrupto para que el sistema cambie su conexión a Internet de Wi-Fi a datos móviles y/o viceversa.
saloalv