Google Voice location

We've watched with interest as enterprising coders have found ways to make Google Voice even smarter by including location with the service. Basically, it knows where you are and knows not to ring, say, your home phone (yeah, some people still have those) if you're not actually near your house. But one of the more recent examples has involved a bit of work (plus personal server space), and that's a hassle.

But Google Voice Locations promises to do all that in one easy-to-use app. Load it up, tell it where you are, and tell it which phones to ring when you're in a given location -- and which phones not to ring when you're not there. Once you connect it to your Google Voice account, it runs in the background as a service, using the cell towers to determine your location. (GPS is promised in a future update).

Go ahead and give it a shot, and let us know what you think. More screen shots after the break.

Google Voice LocationsGoogle Voice Locations

Google Voice LocationsGoogle Voice Locations


Reader comments

Android quick-app: Google Voice Locations


Lots of force closes when setting up locations, but it seems to work well once set up. does a good job of identifying location and successfully turns on/off phones in my Voice settings.

I'm keeping it and looking forward to improvements.

I am not sure what OS you are using. I developed with Droid and the Emulator. I would certainly appreciate anyone willing to help me debug it for their phone.

info (_a~t_)

I am the developer. Apologies to those (ie 1.5 and below) who cannot use this app. This is only the first version and I am hoping to make it functional for all versions. I believe there was a problem getting the service to start on Boot which is why only 1.6+ is currently supported.

@chastbi: I am not sure what OS you are using. I developed with Droid and the Emulator. I would certainly appreciate anyone willing to help me debug it for their phone.

@Steven58: This app does not report any of your info to any third parties. The only communication it does is with Google to enable and disable your phones to ring. Google would have no explicit data as to why the phones are being enabled/disabled. Therefore it is unfair to characterise this as 'Big Brother.'

Very nice, I had been wondering if something like this could be done. Two questions, since techventus is monitoring.

- What happens when the phone is turned off or goes into airplane mode? Voice just stays with the last setting? That probably would work for me anyway, but just wanted to verify rather than assume.

- I didn't quite understand your last bullet point: " * Currently, there is is no way to close the application from within the menu. If you kill the application externally, it will kill the service also, and the functionality will be lost. When you reboot your phone, however, the background service will run, without the extra memory requirements of the GUI."

Do you mean after we put in the settings (our different "zones") we should kill the application, then reboot?

Thanks. I already put in my home and office locations.


1) Yes. When you go into airplane mode, it will keep your last setting. That is a good point. I will explore if I can implement a listener to possibly change settings before just before entering Airplane Mode.

2) There are basically 2 processes running, the GUI Activity and the Background Service. Once the Background Service is running and preferences are set, you should not need to keep running the GUI. So far, I have not implemented a clean way to kill the GUI but not the background service. If you use something like Advanced Task Killer, you will kill both processes, and thus will not get any of the benefits of the programme. In the next release I will add in a "Close GUI" button to return those resources, but continue running the background service.

What's the difference between disable and no action, or more specifically, what is the function of each?

Disable specifically disables your phone from ringing. No Action leaves the setting as is - if it was previously enabled, it remains enabled, if previously disabled, it remains disabled.

Well I tried this on my droid while it was somewhat of a mega battery drainer it was more of a Droid Warmer. I have batterylife installed by Curvefish and that widget tells me the temperature of the phone and it kicks it up about 15 degrees compared to even the GPS when im doing navigation. So I have it but its disabled. It might be good if i go to a place and turn it on... let it do its thing but then turn it off. I prefer this to Locale which i will NOT pay $10 to.

So concept is good. I'll keep an eye out for updates.

Regarding the behavior when the phone is placed in airplane mode or just turned off, if there is such a feature it should be configurable. It might be that you don't want anything to change if you put the phone in airplane mode. For instance, if I were actually getting on a plane, there would not be any phone at which I would be reachable. Therefore, I would still want Google Voice to try to ring my cell phone. Since my cell phone would be inaccessible to the network, the call would go to my voice mail, and that's where I would want it to go.

On the other hand, someone else might want calls to go to their work phone. They might have an assistant or co-worker who would cover the call.

It seems to me, though, that there might be a problem with getting the signal out to change the status before the radio is turned off.

You have a generic "elsewhere" that sets preferences when not in a defined location. Why not add "Airplane Mode" as a generic too? That would stop people wondering what happens when in Airplane mode.

Hi techventus, nice app. I have a feature suggestion that many people will find useful.

A use-case scenario that many people need is to select Google Voice destinations based on Wifi connectivity, not based on Location. This applies to the many that are using Google Voice to call over SIP when connected to Wifi and call over the normal cell number otherwise. Using GPS location as a proxy for Wifi connectivity works some of the time but isn't really what we need.

Do you think you could add this feature? You would have to refactor "Locations" to be "Conditions" that can be either locations or wifi connection states (or maybe other states as well?)

Anyways, thanks for your work.

Greetings, I am new to developing for Android. This past weekend, I put together a little app that takes a much simpler approach to making a google voice number ring or not ring based on the location of your Android device.

Currently, you can configure one of your google voice numbers to be enabled when you are on a certain WiFi network and disabled otherwise. This serves my own personal need, which is for my google voice number to ring my landline when I am home and otherwise not ring the landline. The program uses a passive approach, using minimal system or battery resources - it does not run at all when your network connection is stable and does not activate the GPS.

My preliminary intention is to release this program for free. If anyone is willing to help beta test it, as well as provide suggestions for me to consider as extensions, please contact me privately.