可以仅在WiFi开启的情况下开启飞行模式吗?


15

我知道飞行模式的定义是所有通信和无线电信号都被阻止。但是是否可以关闭电话的“呼叫/接收”部分,以使您的电话不连接到手机信号塔,而仅允许使用Wifi?我研究了Google Play中的几个应用程序,但它们要么无法正常工作,要么与较新版本的Android不兼容。

我知道这个问题的双方都有很强的意见,但是我担心手机会发出辐射,因为我在床上经常使用手机,并且将手机靠近头部和脸部。在晚上,我不必担心会接到电话,因此我只想关闭电话部分并使用WiFi。有办法吗?还是我只是疯狂而偏执?


在所有三星设备上都有可能,也许不仅在三星上,而且我在说我的个人经历。只需打开飞行模式并打开WiFi。简单如馅饼!
Suncatcher

Answers:


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

在PC中设置,在设备中启用USB调试,将其连接到PC,启动Shell,然后输入:

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,蓝牙和NFC的原因是,它们在key值中被提及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
虚构的第二次投票(只需要那个,就记住了您的帖子)。嗯,不幸的是,连一个mod都不能两次投票;)
伊兹

4
对于其他在查询带有文本的where子句时遇到异常的麻烦的人,您必须转义单引号。因此,在答案的示例中,您要说--where "name=\'airplane_mode_toggleable_radios\'"(请注意\')。
Narfanar

使用反斜杠时,这在android 9.0上仍然可以正常使用。
light24bulbs


3

您可能已经正确猜到了,这取决于设备。在旧的HTC Wildfire(又名Buzz)上,我能够分别切换GSM无线电,而在我的Motorola Milestone 2(又名Droid 2)上,我没有。似乎总是可行的解决方法:切换到飞行模式,然后再次启用WiFi(如果需要,还可以启用蓝牙)。

为了不必每次都“弹钢琴”而结束,这可以是自动化的:例如提供为其任务创建小部件(而不是“快捷方式”)。因此,您可以先创建一个任务(打开飞机,打开WiFi,打开蓝牙...),然后为此创建一个小部件。如果需要,其他方向也相同。这样,您只需轻按快捷方式即可切换。


感谢Izzy(+1),将尝试关闭飞行模式/启用wifi技巧
George Profenza 13/12/9

Tasker上,这在我的所有设备上都很好用(按计划是我从凌晨1点到早上7点的“请勿打扰夜间模式”,因此会向我发出早上警报的信息,但电话不会响起;)
Izzy

这也是一种解决方法。:)是否可以仅在WiFi开启的情况下开启飞行模式?//阅读:无耻的晋升:D
Firelord

@Firelord激怒了upvote :)我知道飞机无线电,但不知道如何通过ADB切换它们。做得好!
伊兹

2
  1. 在“拨号器/电话”应用中,输入 *#*#4636#*#*

  2. 选择 Phone Information

  3. 选择 Turn off radio

或使用诸如Cell Radio ShutOff之类的应用程序。

另请注意,您可以在飞行模式下重新打开Wi-Fi(尽管一开始将其关闭肯定很烦人)。


那是一个非常有趣的设置页面,谢谢!
黄先生
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.