È possibile attivare la modalità aereo solo con WiFi attivo?
Bene sì, possibile in tutti i miei dispositivi con Android 4.2.1, 4.4.2, 5.0.2 e 5.1.1. Questo vale anche per l'hotspot portatile.
Le radio che dovrebbero essere spente quando viene abilitata la modalità aereo vengono salvate nella chiave airplane_mode_radios
sotto la tabella global
all'interno /data/data/com.android.settings/databases/settings.db
( database dell'app Impostazioni archiviazione ).
Configurare adb nel PC, abilitare il debug USB nel dispositivo, collegarlo al PC, avviare una shell ed inserire:
adb shell settings get global airplane_mode_radios
adb shell content query --uri content://settings/global --projection name:value --where "name='airplane_mode_radios'"
Dato il comando eseguito, vedresti (uno dei due risultati) qualcosa del tipo:
cell,bluetooth,wifi,nfc,wimax
Row: 0 name=airplane_mode_toggleable_radios, value=bluetooth,wifi,nfc
Puoi scegliere di rimuovere wifi
dal valore per raggiungere l'obiettivo finale.
Immettere uno dei comandi:
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: non copiare e incollare. Nota la stringa che hai ottenuto nel primo output. Quindi rimuovilo wifi,
e passa la risultante tra le doppie virgolette ""
come ho mostrato sopra.
Ora puoi attivare il Wi-Fi seguito dalla modalità aereo. Il tuo Wi-Fi non si spegne.
La necessità di utilizzare ADB era pensata per una sola volta. Se decidi di interrompere il Wi-Fi quando la modalità aereo diventa attiva, aumenta semplicemente wifi
il valore di quella chiave.
Tutto bene qui!
Lo sai?
Il motivo per cui è possibile attivare manualmente Wi-Fi, Bluetooth e NFC anche quando la modalità aereo è attiva è perché sono menzionati nel valore per chiave airplane_mode_toggleable_radios
.
Immettere uno dei comandi:
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'"
Vedresti (uno dei due) qualcosa del tipo:
bluetooth,wifi,nfc
Row: 0 name=airplane_mode_toggleable_radios, value=bluetooth,nfc
Rimuovi una radio dal valore di quella chiave come wifi
e non saresti in grado di attivare nuovamente quella radio (Wi-Fi qui) quando la Modalità aereo è attiva, non importa quale, a meno che ovviamente non annulli le modifiche al valore di quella chiave.