Можно ли включить режим полета только при включенном WiFi?

15

Я знаю, что определение режима полета - все коммуникации и радиосигналы заблокированы. Но возможно ли отключить часть вызова / приема телефона, чтобы ваш телефон не подключался к вышке сотовой связи и разрешал только Wi-Fi? Я просмотрел несколько приложений в Google Play, но они либо не работают, либо устарели с новыми версиями Android.

Я знаю, что по обеим сторонам вопроса существуют сильные мнения, но меня беспокоит излучение от моего телефона, так как я часто использую его в постели и держу телефон близко к голове и лицу. Ночью меня не беспокоит прием звонков, поэтому я просто хочу выключить телефонную часть и использовать WiFi. Есть ли способ? Или я просто сумасшедший и параноик?

Джессика М.
источник
Это возможно на всех устройствах Samsung, может быть, не только на Samsung, но я говорю о том, что у меня есть личный опыт. Просто включите режим полета и включите WiFi. Просто как пирог!
Suncatcher

Ответы:

27

Можно ли включить режим полета только при включенном WiFi?

Ну да, возможно на всех моих устройствах под управлением Android 4.2.1, 4.4.2, 5.0.2 и 5.1.1. Это относится и к портативной точке доступа.

Радиостанции, которые должны быть отключены при включении режима полета, сохраняются в ключе airplane_mode_radiosпод таблицей globalвнутри /data/data/com.android.settings/databases/settings.db( база данных приложения Storage Storage ).

Настройте на ПК, включите отладку по USB на устройстве, подключите его к ПК, запустите оболочку и введите:

adb shell settings get global airplane_mode_radios
adb shell content query --uri content://settings/global  --projection name:value --where "name='airplane_mode_radios'"

При выполнении команды вы увидите (любой из результатов) что-то вроде:

cell,bluetooth,wifi,nfc,wimax
Row: 0 name=airplane_mode_toggleable_radios, value=bluetooth,wifi,nfc

Вы можете удалить wifiиз значения для достижения конечной цели.

Введите любую из команд:

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'"

Примечание. Не копируйте и не вставляйте. Обратите внимание на строку, которую вы получили в первом выводе. Затем удалите wifi,из него и затем передайте результат между двойными кавычками, ""как я показал выше.

Теперь вы можете включить Wi-Fi, а затем режим полета. Ваш Wi-Fi не выключится.

Необходимость использования ADB была предусмотрена только один раз. Если вы решите остановить Wi-Fi, когда активируется режим полета, просто увеличьте значение wifiэтого ключа.

Все хорошо здесь!


Ты знаешь?

Причина, по которой вы можете переключать Wi-Fi, Bluetooth и NFC вручную, даже когда включен режим полета, заключается в том, что они указаны в значении для ключа airplane_mode_toggleable_radios.

Введите любую из команд:

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'"

Вы увидите (любой из них) что-то вроде:

bluetooth,wifi,nfc
Row: 0 name=airplane_mode_toggleable_radios, value=bluetooth,nfc    

Удалите радио из значения этого ключа, например, wifiи вы не сможете снова включить это радио (Wi-Fi здесь), когда активирован режим полета, несмотря ни на что, если, конечно, вы не отмените изменения в значении этого ключа.

Повелитель огня
источник
4
Воображаемый 2-й upvote (просто нужно, чтобы и запомнил ваш пост). Хм, даже мод не может поднять голос дважды, к сожалению;)
Иззи
4
Для других, имеющих проблемы с исключениями при запросах с предложениями where, имеющими текст, вы должны избегать одинарных кавычек. Таким образом, в примере в ответе, вы бы сказали --where "name=\'airplane_mode_toggleable_radios\'"(обратите внимание на \').
Нарфанар
Это все еще прекрасно работает на Android 9.0, когда используются обратные слеши.
light24bulbs
7

Я использую свой мобильный телефон, как это, когда я путешествую. Поэтому сначала включите режим полета, а затем активируйте WIFI (например, в панели уведомлений). В конце у вас будет режим полета, активированный WIFI и все остальные соединения.

Денис Пасишный
источник
1
Lolwut! Это полностью работает :-D. Работает и для Bluetooth
Freedom_Ben
3

Как вы, наверное, уже догадались, это зависит от устройства. На моем старом HTC Wildfire (он же Buzz ) я мог переключать радио GSM отдельно - на моем Motorola Milestone 2 (он же Droid 2 ) я не являюсь. Кажется, что всегда работает обходной путь: переключение в режим полета и просто повторное включение WiFi (и Bluetooth, если вам это нужно).

Чтобы не «играть на пианино» каждый раз, это можно автоматизировать: например, предлагает создавать виджеты (скорее «ярлыки») для своих задач. Таким образом, вы можете сначала создать задачу (самолет включен, WiFi включен, Bluetooth включен ...), а затем создать виджет для этого. То же самое для другого направления, если это необходимо. Таким образом, вы можете переключаться с помощью простого нажатия ярлыка.

Иззи
источник
Спасибо Иззи (+1), попробую режим самолета выключить / включить трюк wifi
Джордж Профенса
Это прекрасно работает на всех моих устройствах, с использованием Tasker (это запланировано как «ночной режим« не беспокоить »» с 1 утра до 7 утра, так что появляется информация о моем утреннем будильнике, но звонки нет;)
Иззи
Вот и обходной путь тоже. :) Можно ли включить режим полета только при включенном WiFi? // Читайте: Бесстыдная реклама: D
Повелитель огня
@Firelord спровоцировал upvote предоставлено :) Я знал о самолетных радиоприемниках - но не знал, как переключать их через ADB. Молодец!
Иззи
2
  1. В своем приложении Dialer / Phone введите *#*#4636#*#*

  2. Выбрать Phone Information

  3. Выбрать Turn off radio

Или используйте приложение, такое как Cell Radio ShutOff .

Также обратите внимание, что вы можете снова включить Wi-Fi в режиме «В самолете» (хотя, во-первых, это может раздражать, если его отключить).

Мэтью Рид
источник
Это очень интересная страница настроек, спасибо!
Mr.Yellow