
You’re at home, happily connected to WiFi. You get in your car to go to work, only to get stuck in traffic. While you’re stopped, you glance at your phone, and realize you forgot to turn off WiFi. To stop your phone from constantly scanning and eating up precious battery life, you turn WiFi off. Then, you arrive at work. Several hours after you get to work, you glance at your phone, and notice the battery has gone down – you don’t get a good mobile data signal in the office, so you normally connect to WiFi to save some battery. But you forgot to turn WiFi back on, so your battery use has really shot up.
Sound familiar?
This problem has plagued many a smartphone user, and app developers have long been coming up with solutions, each with varying levels of success. Do-it-yourselfers might also prefer to go the Tasker route, and write their own rules about when to turn WiFi on and off. However, the best (and easiest) solution I’ve found is a tiny app called Smart WiFi Toggler. It’s available for free from the Play Store, you don’t need to know anything about Tasker, and it has been a thousand times more reliable than any of the others apps I’ve tried that purport to do the same thing.
So, how does it work? Simply put, using tower IDs of the cell towers to which you are connected, Smart WiFi Toggler gets a rough idea of where you are located, and turns WiFi on or off based on whether there are any known WiFi hotspots you can connect to. Periodically as you travel around throughout the day, it will very briefly turn WiFi on to search for hotspots, and turn it off when none are found. The app will also turn off WiFi automatically if you become disconnected from a hotspot, to save your phone’s battery.
The first time you open the app, you’ll have the opportunity to read a short introduction about the purpose of the application. Swipe from right to left to begin the quick set up process, where you will be able to fine tune various settings such as the disconnection timeout, trial timeout, and user intervention timeout. (Timeout simply refers to how long Smart WiFi Toggler will keep WiFi on while attempting to connect to a network.)
There are also options to start the app automatically when Android boots up, as well as running the app in persistent mode. If you’re running Jelly Bean or higher, I’d recommend this – persistent mode simply means that a persistent notification will appear on your device, thereby preventing Android from unintentionally stopping the app from running in the background. Once you select persistent mode, simply hide the persistent notifications from the app, like we detailed a few months ago.

There’s even a special bar that allows you to keep better track of the efficiency of the app, in case you have your doubts. But really, once you’ve set up the app, and told it to run when Android starts, you’ll never have to think about it again. It’s truly a “set it and forget it” solution (you can even hide it from the app drawer after setting it, if your ROM allows for this). It requires no technical knowledge of any sort, and it even gets better and smarter the longer you run it. Obviously, this is my favorite automatic WiFi toggling solution.
You can download it at the link below.

Download: Google Play



















It kinda reminds me of Y5. Same principle, it disables Wi-Fi when you leave a certain cell site. The one drawback is if your cell site extends into another locale that you’re going to. Say for example you live near work.
That being said, Y5 works well, and imagine this app does too (as does Tasker and Llama). Y5 may have Froyo-era graphics (hasn’t been updates since 2010), but it still works well.
By the way, I’ve never had a situation where Android killed one of my background services, even if there wasn’t a persistent notification. Android has a specific order of operation it goes through when it is low on RAM.
Background services tend to be towards to the end of that list of things that get killed when RAM is low, whereas cached apps that are not being actively used are pretty much the first to get killed. Persistent (notification shade) services are second to last and foreground apps (the one you’re currently running on the screen) are the very last. Even on my old Hero (288MB RAM), I never had non persistent background services get killed (like Y5). I like your tip though, because it does buy you a little insurance on it not getting killed.
Wow, triple reply!. Anyway, I wonder if the reason your background services get killed is because of the EVO 4G LTE’s weird multitasking behavior.
HTC implemented that to “save battery” and a lot of people hated that because it so readily kicked things out of memory. I wouldn’t be surprised if THAT’S why you’ve had to use persistent (notification shade) services to keep them from getting kicked out of RAM (thanks HTC!).
Hi Simon – no worries about a triple comment! They are all very useful!
Anyway, yes, I think you hit the nail on the head – HTC’s multitasking is whack!
Doesn’t Jelly Bean already have this feature? I’m sure I enabled it on my HTC EVO 4G LTE but I can’t remember where.
Yeah, I don’t know if Sprint, HTC, or Google baked this feature in, but the Jelly Bean update brought it to the EVO LTE.
Sprint connection optimizer turns WiFi on wherever a possible connection is, correct? I would rather it be on only when I want to connect.
drained battery unstalled