¿Es posible activar el modo Avión solo con WiFi?
Bueno, sí, posible en todos mis dispositivos con Android 4.2.1, 4.4.2, 5.0.2 y 5.1.1. Esto también se aplica para el punto de acceso portátil.
Las radios que se supone que están apagadas cuando se habilita el modo Avión se guardan en la clave airplane_mode_radiosdebajo de la tabla globaldentro /data/data/com.android.settings/databases/settings.db( base de datos de la aplicación de Almacenamiento de configuraciones ).
Configure adb en la PC, habilite la depuración de USB en el dispositivo, conéctelo a la PC, inicie un shell e ingrese:
adb shell settings get global airplane_mode_radios
adb shell content query --uri content://settings/global --projection name:value --where "name='airplane_mode_radios'"
Dado el comando ejecutado, vería (ya sea uno de los resultados) algo como:
cell,bluetooth,wifi,nfc,wimax
Row: 0 name=airplane_mode_toggleable_radios, value=bluetooth,wifi,nfc
Puede elegir eliminar wifidel valor para lograr el objetivo final.
Ingrese cualquiera de los comandos:
adb shell settings put global airplane_mode_radios "cell,bluetooth,nfc,wimax"
adb shell content update --uri content://settings/global --bind value:s:'cell,bluetooth,nfc,wimax' --where "name='airplane_mode_radios'"
Nota: No copie y pegue. Tenga en cuenta la cadena que obtuvo en la primera salida. Luego, elimínelo wifi,y luego pase la resultante entre comillas dobles de ""la manera que he mostrado anteriormente.
Ahora puede encender el Wi-Fi seguido del modo Avión. Tu wifi no se apagará.
La necesidad de usar ADB fue solo por una vez. Si decide detener el Wi-Fi cuando el modo Avión se activa, simplemente incremente wifiel valor de esa tecla.
¡Todo bien aquí!
¿Tú sabes?
La razón por la que puede alternar manualmente Wi-Fi, Bluetooth y NFC incluso cuando el modo Avión está activo es porque se mencionan en el valor de la tecla airplane_mode_toggleable_radios.
Ingrese cualquiera de los comandos:
adb shell settings get global airplane_mode_toggleable_radios
adb shell content query --uri content://settings/global --projection name:value --where "name='airplane_mode_toggleable_radios'"
Vería (cualquiera de ellos) algo como:
bluetooth,wifi,nfc
Row: 0 name=airplane_mode_toggleable_radios, value=bluetooth,nfc
Elimine una radio del valor de esa tecla, por ejemplo, wifiy no podrá volver a alternar esa radio (Wi-Fi aquí) cuando el modo Avión esté activo, pase lo que pase, a menos que, por supuesto, revierta los cambios en el valor de esa tecla.