Take the 2-minute tour ×
Android Enthusiasts Stack Exchange is a question and answer site for enthusiasts and power users of the Android operating system. It's 100% free, no registration required.

I perform all my communication via the internet (Jabber, SIP), so I only need cellular as a backup.

Additionally, coverage at my home is near to nonexistent and as a result, battery drains in a few hours (as opposed to few days when GSM is disabled).

Is there an app for disabling cellular communication entirely (airplane mode) if a WiFi network is present, and enabling it otherwise?

I'm not interested in solutions which disable just the data connection: Android handles that already.
I'm OK with solutions which require rooting, rebuilding Android, etc.

share|improve this question
    
Might help to look into @Izzy's solution involving tasker. A tweak is needed, instead of detecting GSM signal, check if wifi network is present, switch to airplane mode and enable wifi. If moving away from network point, switch off wifi and enable cellular. –  t0mm13b Jul 26 '13 at 14:16
    
@t0mm13b Tasker is awesome. If you turn your comment into an answer I'll gladly accept it. –  whitequark Jul 26 '13 at 15:12
add comment

2 Answers

up vote 3 down vote accepted

Might help to look into @Izzy's solution involving tasker.

A tweak is needed:

  • Instead of detecting a GSM/CDMA signal, check if a Wifi network is present nearby
  • Switch to/enable airplane mode and enable Wifi and connect appropriately (this part am uncertain about - if its an open public Wifi point, good (its bad but another story about open Wifi's) What if it's a private Wifi network and need to input the key? Tasker might be able to help you with that, unsure!
  • If moving away from network point, switch off/disable Wifi and disable the Airplane mode.

Having a look here at this wiki titled "Turn on Wifi at home" entry might also help you as well, to quote, in case of link rot:

My route to and from work is populated by open networks from cable providers that require log-in via webpages and unsecured home networks. Whenever I pass them my phone tries to connect, disconnecting me from 3G. Leaving WiFi on all the time means I'm left with constant service interruptions. forgetting to turn on WiFi at at home runs the risk of eating up my data plan. For this reason I turn off WiFi when I'm out and turn it on when I get home. But what if I forget?

With this Tasker profile, my phone now uses cell location data to turn wifi on/off.

Steps:

Turn GPS on (just for now). You don't need to keep it running all the time, but it helps to pinpoint where your location for the context step.

First, go home (the place your wifi router lives).

Profile: WiFi At Home Context: Location > Net=On, GPS=Off, Radius 500m, Get Fix

Task: At Home Action: Net > WiFi > On Task (optional): Alert > Popup > Text "WiFi On"

Task: Leaving Home Action: Net > WiFi > Off Task (optional): Alert > Popup > Text "WiFi Off"

Get Fix locates where you currently are on a map so you need to actually be at home for this step.

You have several setting options depending on how much power consumption vs. accuracy. See [html http://tasker.dinglisch.net/userguide/en/loctears.html "Location Without Tears"]. The least accurate (Net=Off, GPS=Off) needs a really large radius. The most accurate (Net=On, GPS=On) will drain your battery faster.

I find Net=On, GPS=Off, Radius 500m to work fine. My phone knows when I'm home.

share|improve this answer
    
Awesome, thanks! Another solution to rogue captive portals would be to check CellID and only turn off baseband if CellID matches one of the known ones. I don't have that problem though. –  whitequark Jul 26 '13 at 16:03
add comment

You can give a try to an app developed by a XDA Developers Forum user gyagapen that essentialy the app intelligently manages switching between both your WiFi and 3G data connections as you move about:

CleverConnectivity

App Screenshot 01 App Screenshot 02

CleverConnectivity is an application that helps you to manage your data and wifi connection in order to save battery.

How does CleverConnectivity work?

This application will automatically turn on and off connectivity (data/wifi/sync) while screen is OFF.
For example if the user chooses below configuration:
Time On: 2min
Time On Next Check: 1min
Time Off: 10m
Usage check Interval: 3s
Once the screen is OFF, CleverConnectivity will keep connectivity alive for 2min. Then it will check if data is used during a period of 3s.
If data is used, connectivity will be kept for 1 minute (Time On Next Check).
If data is NOT used, connectivity will be desactivated for 10min. After this, the connectivity will be re-activated and Time On will kick in.
Once screen is ON, connectivity will be automatically re-enabled.

Links:


You can give a try to an app available from Google Play Store that automatically controls your WiFi status:

Smart WiFi Toggler

Description

Smart WiFi Toggler is an application designed to control your phone's WiFi using location based rules. Its aim is to conserve battery and minimize data charges by turning WiFi off when not connected to a network, and turning it on when a known hotspot is present. It constantly learns where your hotspots are located to make its decisions.

It's a very useful application if you frequently forget to turn WiFi off when leaving a hotspot, or if you want to automatically switch from mobile data to WiFi to conserve battery whenever you're back into a hotspot.

Here are some of cool features Smart WiFi Toggler has to offer:

  • Automatically learns your WiFi hotspot locations.
  • Turns WiFi off when disconnected from WiFi network.
  • Automatically turns WiFi on when near a known hotspot.
  • Uses your network location. No GPS battery drain.
  • Provides the ability to control "auto-connect" behavior for each hotspot.
  • Ability to lock WiFi to a disabled state.
  • Warning notification and auto-locking WiFi when a hotspot is down.
  • History, logging, and a troubleshooting screen in case you face any problems.

Smart WiFi Toggler screenshots

share|improve this answer
    
I specifically said that WiFi is my main channel of communication, and that I need to turn off the entire baseband (airplane mode) and not data connection. Sorry, but none of this is relevant. –  whitequark Jul 26 '13 at 14:42
    
Has anyone already measured how much battery is saved by this app? Currently I have WLAN always turned on and switching is done automatically (only for known networks, I'm not using open WLANs). –  ott-- Jul 26 '13 at 17:03
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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