Android
The locations sensor provides the best location estimate for the users’ current location, automatically. We have built-in an algorithm that provides the user’s location with a minimum battery impact. However, we offer the flexibility to researchers to change how frequently the location gets updated, the minimum accuracy and others. In our endurance tests, we got a full day of location updates (8h and higher, depending on device usage) from the user with the default parameters.
Settings
- Aware_Preferences.STATUS_LOCATION_GPS: true or false to activate or deactivate GPS locations.
- Aware_Preferences.STATUS_LOCATION_NETWORK: true or false to activate or deactivate Network locations.
- Aware_Preferences.FREQUENCY_GPS: how frequent to check the GPS location, in seconds. By default, every 180 seconds. Setting to 0 (zero) will keep the GPS location tracking always on.
- Aware_Preferences.FREQUENCY_NETWORK: how frequently to check the network location, in seconds. By default, every 300 seconds. Setting to 0 (zero) will keep the network location tracking always on.
- Aware_Preferences.MIN_GPS_ACCURACY: the minimum acceptable accuracy of GPS location, in meters. By default, 150 meters. Setting to 0 (zero) will keep the GPS location tracking always on.
- Aware_Preferences.MIN_NETWORK_ACCURACY: the minimum acceptable accuracy of network location, in meters. By default, 1500 meters. Setting to 0 (zero) will keep the network location tracking always on.
- Aware_Preferences.EXPIRATION_TIME: the amount of elapsed time, in seconds, until the location is considered outdated. By default, 300 seconds.
- Locations.ACTION_AWARE_LOCATIONS: new location available.
- Locations.ACTION_AWARE_GPS_LOCATION_ENABLED: GPS location is active.
- Locations.ACTION_AWARE_NETWORK_LOCATION_ENABLED: network location is active.
- Locations.ACTION_AWARE_GPS_LOCATION_DISABLED: GPS location disabled.
- Locations.ACTION_AWARE_NETWORK_LOCATION_DISABLED: network location disabled.
Locations Data
Contains the locations log in the mobile device.
Locations_Data.CONTENT_URI
content://com.aware.provider.locations/locations
Table field | Field type | Description |
---|---|---|
_id | INTEGER | primary key, auto incremented |
timestamp | REAL | unixtime milliseconds since 1970 |
device_id | TEXT | AWARE device UUID |
double_latitude | REAL | the location’s latitude, in degrees |
double_longitude | REAL | the location’s longitude, in degrees |
double_bearing | REAL | the location’s bearing, in degrees |
double_speed | REAL | the speed if available, in meters/second over ground |
double_altitude | REAL | the altitude if available, in meters above sea level |
provider | TEXT | gps or network |
accuracy | INTEGER | the estimated location accuracy |
label | TEXT | Customizable label. Useful for data calibration or traceability |
iOS
The locations sensor provides the best location estimate for the users’ current location, automatically.
iOS provides six levels of sensing accuracy as follows, also, the accuracy is automatically selected by aware client based on the MIN_GPS_ACCURACY. By default, the MIN_GPS_ACCURACY is 150 meter. Fundamentally, low-level accuracy conducts the low battery consumption. (We have not compared the battery consumptions between each accuracy level yet.) Please see more detail information from a programming guide for Location sensor and a document for Energy Efficiency Guide.
- kCLLocationAccuracyBestForNavigation (0m)
- kCLLocationAccuracyBest (1-5m)
- kCLLocationAccuracyNearestTenMeters (6-25m)
- kCLLocationAccuracyHundredMeters (26-100m)
- kCLLocationAccuracyKilometer (101-1000m)
- kCLLocationAccuracyThreeKilometers (1001m~)
- Locations.ACTION_AWARE_LOCATIONS: new location available.
Locations Data
Contains the locations log in the mobile device.
Table field | Field type | Description |
---|---|---|
_id | INTEGER | primary key, auto incremented |
timestamp | REAL | unixtime milliseconds since 1970 |
device_id | TEXT | AWARE device UUID |
double_latitude | REAL | the location’s latitude, in degrees |
double_longitude | REAL | the location’s longitude, in degrees |
double_bearing | REAL | the location’s bearing, in degrees |
double_speed | REAL | the speed if available, in meters/second over ground |
double_altitude | REAL | the altitude if available, in meters above sea level |
provider | TEXT | gps or network |
accuracy | INTEGER | the estimated location accuracy (m) |
label | TEXT | Customizable label. Useful for data calibration or traceability |