Gingerbread doesn't allow apps to turn on/off GPS anymore (CM still does but it's missing some features for my device that I can't live without). Only system apps can do this these days.
As I use Tasker to automate a lot of stuff this quite sucks. I tried making Tasker a system app but the latest version still refuses to toggle GPS.
Thus my request: Could someone please create 2 tiny apps that just turn GPS on/off that can be moved to system and used by other apps to toggle that setting?
Why do you need to do that?
Just keep gps on, it doesn't do anything while it's not in use by some app. In particular, it doesn't contribute to battery drain while inactive.
some apps use GPS while in background, e.g. Google Maps. So having GPS enabled does drain the battery
XlAfbk said:
some apps use GPS while in background, e.g. Google Maps. So having GPS enabled does drain the battery
Click to expand...
Click to collapse
Strange, I don't think I've ever seen that happen. The only time I see the GPS in use indicator on my notification bar is when an app like maps, my tracks etc is in the foreground. Just checked that as soon as I switch away from maps by hitting the home button, the GPS indicator vanishes.
Sent from my COS-DS using XDA App
XlAfbk said:
some apps use GPS while in background, e.g. Google Maps. So having GPS enabled does drain the battery
Click to expand...
Click to collapse
drbobb is right. Having GPS enabled does not mean that the actual hardware is on all the time. It merely means that android will allow apps to use it, at which point the GPS hardware will become active. So having it "ON" is just a permission thing.
If you are worried about GPS background apps (really Maps does that? I will surely test this), then I would highly recommend LBE Privacy Guard. Set the app up in such a way that Maps will need to ask you for permission to switch on GPS hardware. I tried this with the android browser because it uses GPS when you start it at google.com. Works like a charm!
well, it is as it is. this thread is not intended as a discussion thread about whether someone thinks disabling GPS is unneccessary. it's a request for an app that just turns on GPS and quits.
I would like to disable the ability to disable the GPS in the phones for use with an "invisible fence" app.
I don't care if the toggle in the notification area goes off or on, but I would like the phone to enable GPS on bootup, and just keep it on regardless.
Any ideas?
Why would you want it to stay on? It is a huge battery hog.
voldomart13 said:
Why would you want it to stay on? It is a huge battery hog.
Click to expand...
Click to collapse
mrcpu said:
I would like to disable the ability to disable the GPS in the phones for use with an "invisible fence" app.
Click to expand...
Click to collapse
I think I was pretty clear in the original post.
WTF is an invisible fence app??
and any app that requires GPS, will use GPS as needed. OLD Facebook app version for example, as long as it was on your screen, GPS was constantly locking. But it would kill the battery in less than 2 hours from full charge. so the facebook app changed the gps to lock once every so often, while the app is open on screen.
Other apps run a background service to access GPS at a set or random interval. Google Latitude for example. Not on screen, but will check-in or update location when-ever.
As you see the APP needs to have the set permissions, and options selected.
and in the end. your battery is dead in 2 hours with what you *think* you want
TRusselo said:
WTF is an invisible fence app??
and any app that requires GPS, will use GPS as needed. OLD Facebook app version for example, as long as it was on your screen, GPS was constantly locking. But it would kill the battery in less than 2 hours from full charge. so the facebook app changed the gps to lock once every so often, while the app is open on screen.
Other apps run a background service to access GPS at a set or random interval. Google Latitude for example. Not on screen, but will check-in or update location when-ever.
As you see the APP needs to have the set permissions, and options selected.
and in the end. your battery is dead in 2 hours with what you *think* you want
Click to expand...
Click to collapse
This is not correct. (at least on the apex rom I'm running).
If you turn off the GPS in settings (not using the toggle on the notification bar), then fire up google maps, the first thing it does is tell you that not all the options for locating the user are turned on, and to go to settings and turn on GPS.
I recall reading somewhere that Google disabled the ability for apps to turn the GPS on and off. They could query it if it was enabled, but couldn't turn it on if it was off.
If the user can turn it off in settings, then that defeats the purpose. I want the GPS on all the time, regardless of settings.
I don't care about battery life, I have 4 captivates in this house, I am well aware of their capabilities and limitations. And I don't really care if you think it's a good idea or not, all I'm asking is if anybody knows of a way.
there is a difference between switching GPS "on" and having GPS activated or locking signal.
in the android settings or with any toogle app, you can turn GPS on or off.
I have it ON 24/7, I bet you do too.
you turn GPS "on", so apps CAN use/activate it if they try to.
you turn GPS "off" to prevent apps from using it, thus reducing battery drain and increasing security.
having GPS on 24/7 doesn't do crap to battery, it depends on the apps, and how they are programmed to use GPS, and if they were programmed to work like you want, they would work like I SAID.
there have been apps that used GPS like you suggested. THEY GOT FIXED. you really dont understand how fast it drains the battery.
and i dont mean to offend, but you also dont understand how the apps interact with the GPS.
Originally Posted by mrcpu
I would like to disable the ability to disable the GPS in the phones for use with an "invisible fence" app.
I think I was pretty clear in the original post.
Click to expand...
Click to collapse
No. You weren't, WHAT THE FRICK an invisible fence app? and how does using the LARGE font help?
house full of captivates? did your dad get a family plan?
I'm running 4.2.2 Jellybean on the new Droid Ultra. Motorola Smartactions are now gone and I can no longer have GPS come on automatically when connected to my car's bluetooth.
It looks like the only option now is to have my GPS constantly on. I wanted to know if Google Now constantly uses my GPS location and will drain my battery.
I've tweaked the settings on my other apps not to use GPS based location. I don't see this setting on Google Now.
Sent from my XT1080 using Tapatalk 4
For some reason. After enabling google now and with that, enabling google to use anonomys location data, Maps seems to be running in the background sometimes. Google analatics is also a culprit, it's running in the background too.
Google now doesn't use your location data(gps) 24/7, but it does tend to gather info based on your location now and then.
It does this so it can suggest more relevant location info via Google Now.
Not to good for battery I've experienced.
Google Now only uses GPS when you activate it.
Sent from my YP-G1 using xda app-developers app
it uses it as needed, but not every instant
Google Now definitely does *not* constantly use GPS. Right now my phone shows 4 minutes GPS use in the last 4 hours (a short walk home from work).
Google is keenly aware of the tradeoff between location accuracy and power. That's why they created the new Location APIs: see developer.android.com/google/play-services/location.html (sorry no links).
The idea is to use the least power-consuming sensor to get the desired information. For example, the phone can use the accelerometer (which takes almost no power) to see if the phone's moving. If it's not, then there's no need to update the location. If it can figure out roughly where you are from WiFi (at Starbucks again!) or the cell network then it may not need GPS. Even when the GPS is used, it needs fewer readings when you're walking than when you're driving.
Between readings, Android will try to put the GPS in a low power idle state to avoid a 2 minute cold start. Whether it can or not depends on the phone's chipset and the manufacturer's firmware.
Google Now wants to track your location so it can guess where you're going. I think it's cute, but then it doesn't use much power on my Galaxy Nexus.
The power-vampire is more likely to be a 3rd party application. As an Android developer, I know it's way way easier to just fire up the GPS when the app starts, or even before it starts, and leave it running at high speed (i.e. high power) even when I'm not using it. It takes much more effort to use GPS sparingly and to throttle it as a appropriate.
Suggestion: Leave GPS turned on for a day, and check the power usage under Settings / Battery. Then turn it off for a day and compare. You can tap the Google Services line for details, including GPS usage time.
ehartwell said:
Google Now definitely does *not* constantly use GPS. Right now my phone shows 4 minutes GPS use in the last 4 hours (a short walk home from work).
Google is keenly aware of the tradeoff between location accuracy and power. That's why they created the new Location APIs: see developer.android.com/google/play-services/location.html (sorry no links).
The idea is to use the least power-consuming sensor to get the desired information. For example, the phone can use the accelerometer (which takes almost no power) to see if the phone's moving. If it's not, then there's no need to update the location. If it can figure out roughly where you are from WiFi (at Starbucks again!) or the cell network then it may not need GPS. Even when the GPS is used, it needs fewer readings when you're walking than when you're driving.
Between readings, Android will try to put the GPS in a low power idle state to avoid a 2 minute cold start. Whether it can or not depends on the phone's chipset and the manufacturer's firmware.
Google Now wants to track your location so it can guess where you're going. I think it's cute, but then it doesn't use much power on my Galaxy Nexus.
The power-vampire is more likely to be a 3rd party application. As an Android developer, I know it's way way easier to just fire up the GPS when the app starts, or even before it starts, and leave it running at high speed (i.e. high power) even when I'm not using it. It takes much more effort to use GPS sparingly and to throttle it as a appropriate.
Suggestion: Leave GPS turned on for a day, and check the power usage under Settings / Battery. Then turn it off for a day and compare. You can tap the Google Services line for details, including GPS usage time.
Click to expand...
Click to collapse
Very informative. Thank you! I'm actually using the MAXX version of the new Droid Ultra. Has the 3,500 mAh battery. This phone lasts a LONG time.
Sent from my Droid MAXX
I just noticed under Battery usage there is a Battery Saver on/off toggle. How does that work?
Sent from my Droid MAXX
I've been leaving the gps constantly on without using navigation for one day. At the end of 24 hours the gps had only been on for a total of 3 minutes 27 seconds. From now on I'm leaving the gps on and never turning it off. No worries on draining the battery.
Sent from my Droid MAXX
Great info in this thread guys. Actually came to this forum to ask a couple questions, and this thread already answered one!
Hey everyone, first I'm not really sure if this belongs in a Tasker forums. Seeing as I use a N5, I figured it could also go here. Anyway, I've been having some problems with Npl wakelocks. I downloaded wakelock terminator with xposed and it seemed to have helped, however something didn't seem right as my battery was draining the same amount as when the wakelocks were happening. The only time I wasn't having the drain was when location was set to device only, which makes sense.
I'm completely new to tasker. I've watched a few tutorials and I've messed around with it a bit but with not much luck. I wanted to do one of two things. Either have location set to battery saver/high accuracy when the screen is on, and have it set to device only when the screen is off. Another option is to have it set to battery saver/high accuracy when google now/maps is open and device only the rest of the time. I feel like this shouldn't be that hard but I messed around with it and got no where. Anyway, what are your guys' opinion about this strategy and would anyone be able to help me with implementing these tasks. Thanks!
I wouldn't go the route of using tasker for your problem. And I would ditch that xposed module for wakelocks too. I run rooted with xposed on high accuracy at all times. My battery life is great. You need to find the source of your battery drain and eliminate it. Don't look for a bandaid fix using tasker. My guess is you have some rogue app killing your battery. Give us a list of all your apps, or delete them all, and install them one by one to track down the culprit. Also, are you running stock Rom and kernel? What other mods do you have?
Lokke9191 said:
I wouldn't go the route of using tasker for your problem. And I would ditch that xposed module for wakelocks too. I run rooted with xposed on high accuracy at all times. My battery life is great. You need to find the source of your battery drain and eliminate it. Don't look for a bandaid fix using tasker. My guess is you have some rogue app killing your battery. Give us a list of all your apps, or delete them all, and install them one by one to track down the culprit. Also, are you running stock Rom and kernel? What other mods do you have?
Click to expand...
Click to collapse
I can run the phone as normal today with location and everything on and post my BBS log after. Basically, when I'm at home the battery is great. However, ever since updating to the new google search app I've been having extreme wakelocks from the Npl whenever I would leave my house. Which is why I found a thread on xda that was talking about that exact wakelock. You're right though. I'm going to get rid of the app because it seemed weird. The wakelocks weren't showing up on BBS but I feel like it didn't get rid of them. Who knows though, maybe you're right and it is something else that's draining the battery which is why the wakelock app didn't help.
Anyway, I'm running stock ROM/kernel with xposed. I use greenify module, appOpsX, snapshare, gravity box, and gesture navigation module. With gravity box I just use custom quick settings, smaller nav bars, some status bar mods like the day and double tap to sleep. However, again I have had the same GB mods since before the drain. I use a pebble however I've never had a drain from that and I've been using it since Dec. Most of my apps are greenified including facebook, instagram, as well as all my music streaming apps. A lot of the google services I don't use are disabled like books/magazines/movies. I have snapchat, but I don't use it too much, and facebook messenger that I don't greenify. When I check GSam stats though, android system and kernel take the most battery, followed by music players if I was streaming music that day. The rest of the apps are way down the list.
I posted in the battery thread asking if anyone had the same problem with the wakelocks after having the latest google play services. I noticed mine is still 4.3 for some reason so I might just update manually from androidpolice and see if theres a difference. But yeah, I will keep this updated with todays logs.
Try this. Use titanium backup to uninstall Google play services and Google search. Then launch maps, and reinstall both from the play store.
PsychDrummer said:
Another option is to have it set to battery saver/high accuracy when google now/maps is open and device only the rest of the time.
Click to expand...
Click to collapse
This is what I ended up doing. You will need the secure settings plugin for tasker.
Set up a new profile for application "Maps".
When on, launch task GPS On (Secure settings, configuration GPS enabled)
Exit task, launch task GPS On (Secure settings, configuration GPS disabled)
I used the app factory to create an app for this, and use that on my N5 and my second phone too. Works great. Enables GPS when I launch Maps for navigation, and switches to battery saving when I exit Maps
PsychDrummer said:
I can run the phone as normal today with location and everything on and post my BBS log after. Basically, when I'm at home the battery is great. However, ever since updating to the new google search app I've been having extreme wakelocks from the Npl whenever I would leave my house. Which is why I found a thread on xda that was talking about that exact wakelock. You're right though. I'm going to get rid of the app because it seemed weird. The wakelocks weren't showing up on BBS but I feel like it didn't get rid of them. Who knows though, maybe you're right and it is something else that's draining the battery which is why the wakelock app didn't help.
Anyway, I'm running stock ROM/kernel with xposed. I use greenify module, appOpsX, snapshare, gravity box, and gesture navigation module. With gravity box I just use custom quick settings, smaller nav bars, some status bar mods like the day and double tap to sleep. However, again I have had the same GB mods since before the drain. I use a pebble however I've never had a drain from that and I've been using it since Dec. Most of my apps are greenified including facebook, instagram, as well as all my music streaming apps. A lot of the google services I don't use are disabled like books/magazines/movies. I have snapchat, but I don't use it too much, and facebook messenger that I don't greenify. When I check GSam stats though, android system and kernel take the most battery, followed by music players if I was streaming music that day. The rest of the apps are way down the list.
I posted in the battery thread asking if anyone had the same problem with the wakelocks after having the latest google play services. I noticed mine is still 4.3 for some reason so I might just update manually from androidpolice and see if theres a difference. But yeah, I will keep this updated with todays logs.
Click to expand...
Click to collapse
Just run device only all the time, like everyone else does. It's a problem with Google's code, and the same bad coding is clearly seen throughout their entire app lineup.
Lokke9191 said:
Try this. Use titanium backup to uninstall Google play services and Google search. Then launch maps, and reinstall both from the play store.
Click to expand...
Click to collapse
What would that do though?
jj14 said:
This is what I ended up doing. You will need the secure settings plugin for tasker.
Set up a new profile for application "Maps".
When on, launch task GPS On (Secure settings, configuration GPS enabled)
Exit task, launch task GPS On (Secure settings, configuration GPS disabled)
I used the app factory to create an app for this, and use that on my N5 and my second phone too. Works great. Enables GPS when I launch Maps for navigation, and switches to battery saving when I exit Maps
Click to expand...
Click to collapse
Thanks! So, how would I set this up using device only/high accuracy? I'm also super new to tasker so if you don't mind I might PM you asking for help.
Aerowinder said:
Just run device only all the time, like everyone else does. It's a problem with Google's code, and the same bad coding is clearly seen throughout their entire app lineup.
Click to expand...
Click to collapse
Well, I actually like to use maps and google now. However, I don't actually need the location on when I'm not using either of the two services which is why I wanted to setup tasker.
It'll change them from being system apps to user apps. This has solved nlp wakelocks for many others experiencing the same problems.
PsychDrummer said:
Thanks! So, how would I set this up using device only/high accuracy? I'm also super new to tasker so if you don't mind I might PM you asking for help.
Click to expand...
Click to collapse
Sure.
It isn't that hard - install the secure settings plug in first, and when prompted, give it Superuser access. Then, create a new profile in tasker - call it whatever you want. Set up the profile for the application "Maps"
When Maps is launched, set it up to fire a new task (I called it GPS On) - this task just enables the GPS setting in the secure settings (under third party plugins)
GPS on -> high accuracy
GPS off -> battery saving mode
Set up an exit task (I called it GPS Off) - this turns the GPS settings in the secure settings off.
I can send you the apk if you want (but you don't really know me, so you probably shouldn't use an apk from a stranger! lol!), or you can try to import this attached xml into tasker (rename the file to remove the .txt extension - filename will be AutoGPS.prj.xml) - the xml option should be safe.
I haven't tried importing an xml, but it should be fairly straightforward (Save profiles in /sdcard/tasker/profiles and then, in tasker, long press the profiles "tab" and "import"). Before doing this, backup your existing profiles in tasker, just in case. Also, make sure you have secure settings set up before you import this.
jj14 said:
Sure.
It isn't that hard - install the secure settings plug in first, and when prompted, give it Superuser access. Then, create a new profile in tasker - call it whatever you want. Set up the profile for the application "Maps"
When Maps is launched, set it up to fire a new task (I called it GPS On) - this task just enables the GPS setting in the secure settings (under third party plugins)
GPS on -> high accuracy
GPS off -> battery saving mode
Set up an exit task (I called it GPS Off) - this turns the GPS settings in the secure settings off.
I can send you the apk if you want (but you don't really know me, so you probably shouldn't use an apk from a stranger! lol!), or you can try to import this attached xml into tasker (rename the file to remove the .txt extension - filename will be AutoGPS.prj.xml) - the xml option should be safe.
I haven't tried importing an xml, but it should be fairly straightforward (Save profiles in /sdcard/tasker/profiles and then, in tasker, long press the profiles "tab" and "import"). Before doing this, backup your existing profiles in tasker, just in case. Also, make sure you have secure settings set up before you import this.
Click to expand...
Click to collapse
Cool, thanks I will give it a try. And it would be the same if I want to have location on when using google search/now?
PsychDrummer said:
Cool, thanks I will give it a try. And it would be the same if I want to have location on when using google search/now?
Click to expand...
Click to collapse
Yes, it should be. But in my experience, I haven't found Google Search/Now really requiring high accuracy GPS level location for any of the features yet. It gets by fine with just battery saving mode. So, I only enabled this for the Maps application.
Actually, now that I think about it, I don't know how you'd enable it for Google Now - since it runs in the background to notify you about upcoming events. Since you aren't launching Google Now most of the times, I don't know how you'd set up Tasker to enable the high accuracy GPS for that (and it is possible that Google now using active GPS may be part of the battery drain issue - I don't know for sure)
jj14 said:
Yes, it should be. But in my experience, I haven't found Google Search/Now really requiring high accuracy GPS level location for any of the features yet. It gets by fine with just battery saving mode. So, I only enabled this for the Maps application.
Actually, now that I think about it, I don't know how you'd enable it for Google Now - since it runs in the background to notify you about upcoming events. Since you aren't launching Google Now most of the times, I don't know how you'd set up Tasker to enable the high accuracy GPS for that (and it is possible that Google now using active GPS may be part of the battery drain issue - I don't know for sure)
Click to expand...
Click to collapse
I actually wanted to keep the device on "device only" location instead of battery saving. For Google now I wanted the traffic card, but I would only need it if I physically open google now. I don't really need the notification.
PsychDrummer said:
I actually wanted to keep the device on "device only" location instead of battery saving. For Google now I wanted the traffic card, but I would only need it if I physically open google now. I don't really need the notification.
Click to expand...
Click to collapse
To keep device only, you should use Location mode (in secure settings) and set it to Device only or whatever you need, instead of GPS.
Note that "Device only" still uses active GPS and "This mode may use more battery power and take longer to determine your location" (Ref: https://support.google.com/nexus/answer/3467281?hl=en)
The traffic card still works on "battery saving" because it uses cellphone triangulation, and shows you the traffic in your vicinity, and based on your destination.
jj14 said:
To keep device only, you should use Location mode (in secure settings) and set it to Device only or whatever you need, instead of GPS.
Note that "Device only" still uses active GPS and "This mode may use more battery power and take longer to determine your location" (Ref: https://support.google.com/nexus/answer/3467281?hl=en)
The traffic card still works on "battery saving" because it uses cellphone triangulation, and shows you the traffic in your vicinity, and based on your destination.
Click to expand...
Click to collapse
I know, I have always used battery saving. The problem is that with battery saving, I'm having these extreme wakelocks and Google is constantly searching for my location which is what I think is the cause of the drain I'm having. I'm going to use my phone today by just using device-only location and see how the battery lasts. It should be much better since I'm hoping the phone will be deep sleeping longer. Basically, when I take my phone off the charger in the morning and I'm still at home for the first 2 hours of the day the standby time is great. It usually goes down 1-2% in those 2 hours even if I use the phone a little. However, once I leave the house is when I get constant wakelocks from location services and the battery stats to deplete a lot faster. I mean, I can still get through a day just because I don't use the screen a lot. I tend to only use about 1 hr 30 min on a regular day but I just want to play around with settings to see what works.If I can get the same standby time throughout the day that I get within the first two hours when im at home that would be great.
PsychDrummer said:
I know, I have always used battery saving. The problem is that with battery saving, I'm having these extreme wakelocks and Google is constantly searching for my location which is what I think is the cause of the drain I'm having. I'm going to use my phone today by just using device-only location and see how the battery lasts. It should be much better since I'm hoping the phone will be deep sleeping longer. Basically, when I take my phone off the charger in the morning and I'm still at home for the first 2 hours of the day the standby time is great. It usually goes down 1-2% in those 2 hours even if I use the phone a little. However, once I leave the house is when I get constant wakelocks from location services and the battery stats to deplete a lot faster. I mean, I can still get through a day just because I don't use the screen a lot. I tend to only use about 1 hr 30 min on a regular day but I just want to play around with settings to see what works.If I can get the same standby time throughout the day that I get within the first two hours when im at home that would be great.
Click to expand...
Click to collapse
That's strange. With battery saving mode, I get no wakelocks, which with device only or high accuracy, I used to get a lot of wakelocks by the location services.
But yes, no harm in trying out the options. Tasker+secure settings should be able to set up the battery saving or device only (as described above)
jj14 said:
That's strange. With battery saving mode, I get no wakelocks, which with device only or high accuracy, I used to get a lot of wakelocks by the location services.
But yes, no harm in trying out the options. Tasker+secure settings should be able to set up the battery saving or device only (as described above)
Click to expand...
Click to collapse
You get Npl wakelocks? So far I haven't gotten it and that's the wakelock that usually keeps my phone awake for 2 hours or so. basically, I think the way it works is that the device only setting uses more battery when using apps that use location such as maps but when the apps are not in use it uses no battery on location.
PsychDrummer said:
You get Npl wakelocks? So far I haven't gotten it and that's the wakelock that usually keeps my phone awake for 2 hours or so. basically, I think the way it works is that the device only setting uses more battery when using apps that use location such as maps but when the apps are not in use it uses no battery on location.
Click to expand...
Click to collapse
No. Ever since I switched to battery saving (and tasker toggling to high accuracy when I use maps), I have no location based wakelocks (no NPL wakelocks)
jj14 said:
No. Ever since I switched to battery saving (and tasker toggling to high accuracy when I use maps), I have no location based wakelocks (no NPL wakelocks)
Click to expand...
Click to collapse
Interesting, I've been having the opposite. I even took a screen shot of the wakelocks on the stock battery app where when the screen is off there's a huge amount of individual lines for awake (of course this is backed up by BBS). However when using device only the awake and screen on match almost perfectly.
PsychDrummer said:
Interesting, I've been having the opposite. I even took a screen shot of the wakelocks on the stock battery app where when the screen is off there's a huge amount of individual lines for awake (of course this is backed up by BBS). However when using device only the awake and screen on match almost perfectly.
Click to expand...
Click to collapse
Not sure why the difference, but regardless, as long as the individual 'fix' works, that's all that matters