This app uses Android location services and WLAN status information to track your location. You can specify custom rules to enable/disable GPS in certain areas, and to post a web request when you enter a specific location at a specific speed. You can also periodically upload your location to your own web server (optional).
You will find this useful if you have your own web server hooked up to your home automation system, so you can automatically trigger a reaction like firing up your christmas lighting or your garage entrance laser show whenever you approach the house. :-) I wrote this app mainly for myself to open my garage door just in time when I return home by car or by bike. I tried to keep the settings generic so that it can be used for other things as well, but it's my very first Android app, so there's still ample room for improvement.
This app needs the following permissions:
* ACCESS_FINE_LOCATION to get the exact location and turn GPS on/off
* ACCESS_WIFI_STATE for rules that should only fire when connected to a specific WLAN
* INTERNET to send trigger requests and location updates to a web server of your choice
* RECEIVE_BOOT_COMPLETED to restart its location tracking service after a reboot
* WRITE_EXTERNAL_STORAGE to load and save the configuration to /sdcard
* VIBRATE in case you want the device to vibrate when a rule fires
Known bugs:
* Wifi location tracking NO LONGER WORKS RELIABLY UNDER ANDROID 6 on certain phones (e.g. Nexus 5). It's probably yet another new undocumented battery-saving feature.
* WLAN SSIDs in rules may not contain spaces.
Configuration example:
locationUploadURL: https://example.com/location?track&k=12345678&
locationUploadInterval: 30000
armRule: maxaccuracy 80 and outside 47.2956,8.4534,500
armAbortRule: maxaccuracy 80 and inside 47.2956,8.4534,500
armTimeout: 60000
gpsOnRule: maxaccuracy 80 and inside 47.2956,8.4534,500
gpsOffRule: maxaccuracy 80 and outside 47.2956,8.4534,500
triggerRule: minspeed 2 and inside 47.2960,8.4526,25 or nospeed and inside 47.2955,8.4522,80 or nospeed and inside 47.2960,8.4526,80
triggerURL: https://example.com/location?trigger POST k=12345678&
disarmRule: wlan homesweethome
stateURL: https://example.com/location?state POST k=12345678&
gpsTimeUntilCooldown: 600000
gpsCooldownDuration: 7200000
speak: true
vibrate: false
notifications: true
This app is, and always will be, free and ad-free. It does not send your location or any other data anywhere except to the URLs you specify in the settings. Also, it does not read anything from your external storage except HomeBase configuration files. You can safely deny storage access if you don't need the config file feature.