17

I know the definition of Airplane mode is all communications and radio signals are blocked. But is it possible to turn off the "calling/receiving" part of the phone so your phone is not connecting to a cell tower and only allow Wifi? I've looked into a couple of apps in Google Play but they're either not working or out of date with newer versions of Android.

I know there is strong opinions on both sides of the issue but I'm worried about radiation from my phone since i use it a lot in bed and I hold the phone close to my head and face. At night I'm not worried about receiving calls, so I just want to turn off the phone part and use WiFi. Is there a way? Or am i just crazy and paranoid?

1
  • It's possible on all Samsung devices, maybe not only on Samsung, but I am speaking about what I have personal experience. Just turn on Airplane mode and turn on WiFi. Simple as a pie!
    – Suncatcher
    Commented Apr 29, 2017 at 5:59

4 Answers 4

29

Possible to turn on Airplane mode with WiFi on only?

Well yeah, possible in all of my devices running Android 4.2.1, 4.4.2, 5.0.2 and 5.1.1. This applies for portable hotspot too.

The radios that are supposed to be turned off when Airplane mode gets enabled are saved in the key airplane_mode_radios under the table global inside /data/data/com.android.settings/databases/settings.db (Settings Storage app's database).

Set up in PC, enable USB debugging in device, connect it into PC, launch a shell, and enter:

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

Given the command executed, you would see (either one of the result) something like:

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

You can choose to remove wifi from the value to achieve the final objective.

Enter any one of the commands:

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

Note: Do not copy-paste. Note the string that you got in the first output. Then remove wifi, from it and then pass the resultant between the double quotes "" the way I've shown above.

Now you can turn on the Wi-Fi followed by the Airplane mode. Your Wi-Fi wouldn't turn off.

The need for using ADB was meant for once only. If you decide to stop Wi-Fi when Airplane mode becomes active then simply include wifi in that key's value.

All good here!


Do you know?

The reason you're able to toggle Wi-Fi, Bluetooth and NFC manually even when Airplane mode is active is because they are mentioned in the value for key airplane_mode_toggleable_radios.

Enter any one of the commands:

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

You would see (either one of them) something like:

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

Remove a radio from that key's value such as wifi and you wouldn't be able to toggle that radio (Wi-Fi here) again when Airplane mode is active, no matter what, unless of course you revert the changes in that key's value.

3
  • 6
    To others having trouble with exceptions when querying with where clauses that have text, you have to escape the single quotation marks. So in the example in the answer, you'd say --where "name=\'airplane_mode_toggleable_radios\'" (notice the \').
    – Narfanar
    Commented Apr 28, 2017 at 19:34
  • 1
    This still works perfectly on android 9.0 when backslashes are used. Commented Apr 2, 2019 at 20:31
  • 1
    If you come across this for forcing Wifi Calling to use Wifi and not randomly switch to a spotty cellular signal, it works on Motorolla G Power 2021 (Android 11) but you need to turn Airplane Mode on before starting your call, otherwise it will drop the call.
    – GreenGiant
    Commented Aug 10, 2022 at 2:49
8

I use my mobile like this when I travel. So first turn on Airplane mode and then activate WIFI (for example in notification panel). At the end you will have Airplane mode, WIFI activated, and all other connection deactivated.

2
  • 2
    Lolwut! This totally works :-D. Works for Bluetooth also Commented Jun 30, 2017 at 15:55
  • Easy way to enable only the radios you want. Thanks.
    – Joao M
    Commented Aug 10, 2022 at 15:00
3

As you probably already correctly guessed, that's device dependent. On my old HTC Wildfire (aka Buzz) I was able to switch of GSM radio separately – on my Motorola Milestone 2 (aka Droid 2) I am not. What always seems to work is a work-around: Switching to airplane mode, and just enabling WiFi again (and Bluetooth, if you need it).

To not end up "playing piano" each time, this can be automated: e.g. offers to create widgets (rather "shortcuts") for its tasks. So you could first create a task (airplane on, WiFi on, Bluetooth on...), and then make a widget for that. Same for the other direction, if needed. That way you can switch around with the simple tap of a shortcut.

1
  • That works great on all of my devices, using Tasker (it's scheduled as my "do-not-disturb night-mode" from 1am to 7am, so wheather info comes in for my morning alarm, but calls don't ;)
    – Izzy
    Commented Dec 9, 2013 at 21:10
2
  1. In your Dialer / Phone app, enter *#*#4636#*#*

  2. Select Phone Information

  3. Select Turn off radio

Or use an app like Cell Radio ShutOff.

Note also that you can turn Wi-Fi back on during Airplane Mode (though it can definitely be annoying to have it turned off in the first place).

0

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .