É possível ativar o modo avião apenas com o WiFi ativado?
Bem, sim, possível em todos os meus dispositivos com Android 4.2.1, 4.4.2, 5.0.2 e 5.1.1. Isso também se aplica ao ponto de acesso portátil.
Os rádios que deveriam estar desativados quando o modo Avião é ativado são salvos na chave airplane_mode_radios
abaixo da tabela global
dentro /data/data/com.android.settings/databases/settings.db
( banco de dados do aplicativo Settings Storage ).
Configure adb no PC, ative a depuração USB no dispositivo, conecte-o ao PC, inicie um shell e digite:
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 o comando executado, você veria (um dos resultados) algo como:
cell,bluetooth,wifi,nfc,wimax
Row: 0 name=airplane_mode_toggleable_radios, value=bluetooth,wifi,nfc
Você pode optar por remover wifi
do valor para atingir o objetivo final.
Digite qualquer um dos 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: Não copie e cole. Observe a sequência que você obteve na primeira saída. Em seguida, remova wifi,
-o e passe o resultante entre aspas duplas ""
da maneira que mostrei acima.
Agora você pode ativar o Wi-Fi seguido pelo modo Avião. Seu Wi-Fi não se desliga.
A necessidade de usar o ADB foi criada apenas uma vez. Se você decidir interromper o Wi-Fi quando o modo Avião estiver ativo, basta aumentar wifi
o valor dessa chave.
Tudo bem aqui!
Você sabe?
O motivo pelo qual você pode alternar Wi-Fi, Bluetooth e NFC manualmente, mesmo quando o modo Avião está ativo, é porque eles são mencionados no valor da chave airplane_mode_toggleable_radios
.
Digite qualquer um dos 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'"
Você veria (qualquer um deles) algo como:
bluetooth,wifi,nfc
Row: 0 name=airplane_mode_toggleable_radios, value=bluetooth,nfc
Remova um rádio do valor dessa chave wifi
e você não poderá alterná-lo (Wi-Fi aqui) novamente quando o modo Avião estiver ativo, não importa o quê, a menos que você reverta as alterações no valor dessa chave.