Enable or disable GPS, this app must be placed in /system/priv-app/.
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. **