When an android phone is connected by both wifi and mobile data (3G/4G), it will preferentially use wifi since this saves battery and mobile data bandwidth. However, my mobile connection is more reliable than my wifi, and there are some apps that use only a small amount of data but which I want to operate reliably. Google voice recognition is the primary example.

My understanding is that each app has it's own preferred connection type (almost always set to wifi) at the level of the operating system, but that this setting is not not available to the user. How can I change an app's preference to mobile data? If necessary, I am open to solutions that only work for Google voice recognition (e.g. a buried user option).

  • 1
    Your understanding is not correct. Apps don't have a preferred connection type at all: they just use the first active connection. Android disconnects from 3G when it connects to a Wi-Fi network.
    – Dan Hulme
    Apr 26, 2014 at 17:26

5 Answers 5


There is an app on the Play Store called "NoRoot Firewall" which may be used for this purpose.

Inside the app you can select which app you want to connect to WiFi or mobile data.


Do you have root ? If yes you can download AFWall+ is an excellent open source firewall that let you control which apps can connect to wifi and 3g.

If you don't have root and don't want to do then search on google play for similar non root firewalls but i'm not sure you can do that without root.


If you long-press on the WiFi button you should be able to access Advanced WiFi options. In there, try activating the Auto Network Switch option. Now, I'm not sure if this will effectively disconnect you from WiFi if it detects there's no valid data connection, but it's worth a shot.


As far as I know, network connection type doesn't need to be forced. Application need just a "Data" . Not "Data from 3G" or "Data from Wi-Fi", etc. Also, as you said, mostly Wi-Fi is a better choice. Not using your Wi-Fi can be the answer. PS. Google voice recognition does have a "offline speech recognition" feature. Go to settings, find it and download your language file. This could help.


Just disable WiFi on your Android device. That way you can connect to data over 3G/4G preferentially. Easy as cake.

  • 1
    This does not answer the question. Apr 26, 2014 at 8:28
  • Um it does kinda. Its more easier to just switch off WiFi than doing anything else.
    – Parth Sane
    Apr 26, 2014 at 8:32

You must log in to answer this question.

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