Enable or disable GPS, this app must be placed in /system/priv-app/.

[Root] GPS On / Off Screenshot
[Root] GPS On / Off Screenshot
Update
Mar 27, 2023
Developer
Category
Installs
100+
Rate
0
You do not really need to root your device, but this app must be placed in /system/priv-app/ or /system/app/ for old OSes. It can be easily achieved by using a third party recovery. You can also use root explorer or some other file managers to move this app into the required folder on a rooted device. Otherwise it won't work.
So for your convenience, the APK can be directly downloaded at https://github.com/Hzj-jie/android-gps-onoff/raw/master/android-gps-onoff-release.apk.

This app installs two items in start menu, "Gps On" and "Gps Off". Each one does its job and quit. i.e. Enable GPS or disable GPS. Please refer to the first screenshot.

I am using this with https://play.google.com/store/apps/details?id=org.gemini.init, and turning GPS on / off when screen is unlock / off. Ex.
https://github.com/Hzj-jie/android-init/blob/master/sample/screen-on.sh
https://github.com/Hzj-jie/android-init/blob/master/sample/screen-off.sh

The benefit to disable GPS when screen is off is to extremely save power usage. The second screenshot shows the battery usage of my phone, it can last almost four days, and uses almost 0 battery during idle time.

But some of the features, such as Google Search app and Pokemon Go requires to query GPS regularly to do its location based work. Disabling GPS when screen off impacts their functionality. So it's a trade-off between battery usage and functionality.

This app requires only permission to set GPS settings.
Considering this APK is only 5 kilo bytes, I do not want an icon to enlarge it, so this app has no icon. The high resolution icon here in Google Play store is 16.4K.

This app is an open-source project, you can get the source code @ https://github.com/hzj-jie/android-gps-onoff.

** All the screenshots are coming from my phone. If you have copy-right to any of them, please kindly let me know. I will remove it. **