BackPackTrack II is an open source utility application meant to continuously record your location, without draining your battery and without requiring an internet connection.
The GPS will be switched on every 3 minutes for a maximum of 60 seconds (both configurable) to acquire a location, but only if you are moving. If there is not at least one satellite visible after 30 seconds (configurable), the GPS will be turned off. When the GPS cannot get a fix, a network location will be used as backup.
BackPackTrack II will also passively use locations requested by other applications, for example mapping applications. Passive locations will be recorded if the bearing changes by more than 30 degrees or if the altitude changes by more than 20 meter (both configurable).
Locations will be filtered based on distance from your last location and based on location accuracy. The default is to filter locations within 100 meter of the last location and locations with an accuracy of less than 100 meter.
The altitude of GPS locations will be corrected using the EGM96 model, which can make a significant difference in some areas.
From the status bar notification you can make an extra trackpoint or a new waypoint. Waypoints will be automatically reverse geocoded if there is an internet connection, otherwise this can be done later using the waypoint editor.
If you want to see the status of the GPS, you could use the application GPS Status & Toolbox.
As a bonus BackPackTrack includes:
BackPackTrack II is a complete rewrite of BackPackTrack, the first Android application I wrote in 2011.
You can download the latest version of the application from the Play store.
Works on Android 4.1 (Jelly Bean) and later.
You can ask questions here.
If you like BackPackTrack II, you can let me know through a small PayPal donation.
No, but acquiring locations will not stop if you are still (not moving) anymore. Unfortunately there are no open source libraries available to detect user activity (what you are doing).
The version information shows if a usable version of Google Play services is installed.
BackPackTrack II is meant to continuously record your location, so there is no exit or quit option/menu. If you want to stop tracking, you can uncheck the check box labelled Tracking enabled found in the location tracking sub-menu.
The Google Geocoder needs to be present on your device. See the version information to see if it is available.
Counting steps will start when the activity on foot has been recognized and will stop when any other activity has been recognized, which means that BackPackTrack II, unlike most similar applications, doesn't count false steps, for example when traveling in a vehicle.
Note that your device needs to have a hardware step counter for step counting to work. See the version information to check if this is the case.
Unlike most similar applications, BackPackTrack shows an estimate of the net number of calories burned. If you want to see a higher number of calories, walk more ;-)
Locations are recorded either as waypoint or trackpoint. The difference between a waypoint and a trackpoint is that a waypoint has a name and a trackpoint does not. Waypoints can be edited by the waypoint editor, but trackpoints cannot. It is the waypoints and trackpoints which are being exported to a GPX file. Most GPX visualization tools connect trackpoints by line segments, designating the path you have followed. Waypoints are mostly represented by symbols, like a little flag.
GPX extensions are non standard data elements.
BackPackTrack II can write the following GPX extension elements:
Yes, you can, for example with Tasker.
Enable/disable privacy mode:
The default is to enable tracking.
Make sure you have configured your weblog URL and authorization data before trying to upload.
am startservice -a eu.faircode.backpacktrack2.WRITE_GPX --es TrackName "Test" --ez WriteExtensions false --ez DeleteData false --es TimeFrom "1970-1-1" --es TimeTo "2016-1-1"
Get Google elevation data:
When no time from/to is specified, the default is yesterday.
Update weather information:
This will work even when weather updates are disabled.
Tasker use case examples
Starting/stopping tracking based on a location:
Additionally an exit task can be created to stop tracking once you arrive back at the same location
Creating a launcher shortcut to write a GPX file:
Use your laucher's options for adding a Tasker widget to the homescreen
Capture a Trackpoint when a photo is taken:
Adjust the calibration offset value until the menu Determine altitude for last location shows the correct altitude for your current location. You should hold your device at ground level and you must know the altitude for the current location. Note that the altitude reading from the GPS is not accurate enough for this purpose. Elevations fetched from the Google elevation API are suitable for this purpose.
The pressure sensor of the LG Nexus 5 is accurate enough to meassure one meter of difference, so ground level should be taken literally!
The pressure sensor of the LG Nexus 5 seems out of the box accurate enough for the purpose of BackPackTrack II.
The configured update interval determines the frequency weather information is fetched from OpenWeatherMap, but the update frequency of the weather reports depends on the used nearby weather station and on the OpenWeatherMap infrastructure. The weather history shows the time of the weather reports (not the time of fetching the weather reports).
Location = your last latitude and longitude
In order to use darksky.net weather information you will need to register for a developer account here and to enter the darksky.net API key into the weather settings. Without API key you will get 'Forbidden'.
Activity recognition (provided by Google Play services) does not require internet access.
The Android location manager needs internet access to acquire network locations (but not for GPS locations).
BackPackTrack will mainly consume power for two things:
The frequency and duration the GPS is being switched on can be configured.
The frequency the GPS will be switched on is equal to the tracking frequency, which is a matter of personal preference. Acquiring a location more often will result in more trackpoints at the expense of more power usage.
The duration the GPS will be switched on depends on the preferred accuracy, the location time-out and the satellite check time / count. The time to a location fix is different for different device types, so there may be some room to tune the location time-out and the satellite check time / count for your device. Leaving the GPS on, while there is no chance for a location fix, for example when you are indoors, is a waste of power.
The frequency at which your activity is being recognized can be configured as well. Devices with a significant motion sensor (see version information) will automatically reduce the frequency when still (not moving). Reducing the activity recognition interval for devices without a significant motion sensor will probably result in less power usage when still. Activity recognition does consume a lot less power than using the GPS, so power used for activity recognition is not wasted.
The following libraries are being used: