Our local office provides free public WiFi for phones and tablets, but blocks access in ways that means that some applications (like WhatsApp) are unable to connect.

Is there any way to configure Android so that a certain app (in this case WhatsApp, but could be others) will always use cellular data even though it is connected to a WiFi access point?

Bonus points if it'll only do it for a specific access point, so we can configure it to use cellular data for the office but at home it'll still go over WiFi.

Currently the only alternative is to either keep WiFi off (which is much slower and eats into data caps) or keep toggling WiFi on and off (which is really quite annoying).

(Free or paid solutions appreciated. Using Android 4.3. Would prefer solutions that don't require root, but if that is the only way then so be it.)


Use the Android app Mobiwol. You can designate each app to use which network. :)

| improve this answer | |
  • This did not work for me. Mobiwol simply blocked whatsapp when it tried to ues the wifi. Whatsapp did not use mobile data instead. – pgsandstrom Apr 3 '18 at 14:10

The automation App Tasker allows for location-specific triggers so that you can disable WiFi completely whenever you are in the local office (see example here).

I'm not aware of an option in Android to direct some apps via WiFi and others via mobile, at the same time.

You may be able to set a variable to indicate when one or more of the problematic apps is running and combine that with the location-based trigger to disable WiFi only when one of these apps is running and you are at the office. However, that would would not be helpful with an app like WhatsApp that is running all the time.

Alternatively, you may set specific time intervals during which you turn the WiFi off at the office so that you can get WhatsApp updates. This approach may have the additional advantage that it limits diversions to limited time windows.

| improve this answer | |
  • 2
    +1: Using Tasker you could even limit that to whenever a certain app is running in foreground while your device is at location X (e.g. connected to your home WiFi), it's between 6pm and 10pm, and cell signal is stronger than Y – or even wilder combinations :) – Izzy May 20 '14 at 9:08

Some apps provide solution for your problem. Try Avast Antivirus. It have a built in firewall which limits the selected apps to use the given data network. You can select/limit app to use 2G, 3G, Wi-Fi etc.

| improve this answer | |

Go into settings and turn your phone's WiFi off. Then phone will use its 2g/3g/4g data auto-magically. There's a widget built into many Android phones that you can put on your desktop that gives easy one-click control over WiFi, Bluetootooth, screen brightness, GPS and refresh. Or go into settings, find WiFi and turn it off.

| improve this answer | |

As far as I know, android won't use cellular data at all when wifi is enabled. On a regular machine I'd create routes for whatsapp to use the celular interface, and have a default route using the wifi interface.

One solutio might be to use a VPN server at home, and connect to that on your phone. If you run OpenVPN op tcp port 443, then you'll probably successfully evade the firewall. The downside: it can eat battery like crazy (at least, it did when I tried).

| improve this answer | |

Not the answer you're looking for? Browse other questions tagged or ask your own question.