State class

Expresses the current state of the plugin, including all Config options.

Inheritance

Constructors

State(Map data)

Properties

activityRecognitionInterval int?
Controls the sample-rate of the activity-recognition system.
getter/setter pairinherited
activityType int?
[iOS only] Presumably, this affects iOS stop-detect algorithm. Apple is vague about what exactly this option does.
getter/setter pairinherited
allowIdenticalLocations bool?
[Android only] Allow recording locations which are duplicates of the previous.
getter/setter pairinherited
authorization Authorization?
Configure the SDK's HTTP service to authenticate with your server (eg: JWT)
getter/setter pairinherited
autoSync bool?
Immediately upload each recorded location to your configured url.
getter/setter pairinherited
autoSyncThreshold int?
The minimum number of persisted records the plugin must accumulate before triggering an autoSync action.
getter/setter pairinherited
backgroundPermissionRationale PermissionRationale?
(Android 11+) Configure the dialog presented to the user when Always location permission is requested.
getter/setter pairinherited
batchSync bool?
POST multiple locations to your url in a single HTTP request.
getter/setter pairinherited
debug bool?
Configure the plugin to emit sound effects and local-notifications during development.
getter/setter pairinherited
deferTime int?
[Android only] Sets the maximum wait time in milliseconds for location updates.
getter/setter pairinherited
desiredAccuracy int?
Specify the desired-accuracy of the geolocation system.
getter/setter pairinherited
desiredOdometerAccuracy double?
The maximum location accuracy allowed for a location to be used for Location.odometer calculations.
getter/setter pairinherited
didDeviceReboot bool
Indicates if the app was launched after the device was rebooted.
getter/setter pair
didLaunchInBackground bool
Indicates whether the iOS app was launched in the background.
getter/setter pair
disableAutoSyncOnCellular bool?
Disable autoSync HTTP requests when device is connected to a Cellular connection. Defaults to false. Set true to allow autoSync only when device is connected to Wifi.
getter/setter pairinherited
disableElasticity bool?
Disable automatic, speed-based distanceFilter scaling.
getter/setter pairinherited
disableLocationAuthorizationAlert bool?
Disables automatic authorization alert when plugin detects the user has disabled location authorization.
getter/setter pairinherited
disableMotionActivityUpdates bool?
Disable the plugin requesting "Motion & Fitness" (ios) or "Physical Activity" (android >= 10) authorization from the User.
getter/setter pairinherited
disableProviderChangeRecord bool?
[Android-only] Disables the automatic insert of a location record into the SDK's SQLite database and subsequent HTTP upload if configured with Config.url. When a onProviderChange event fires, the Android SDK has traditionally recorded a location to show exactly when and where the state of location-services was changed (eg: Location-services disabled).
getter/setter pairinherited
disableStopDetection bool?
Disable motion-activity related stop-detection.
getter/setter pairinherited
distanceFilter double?
The minimum distance (measured in meters) a device must move horizontally before an update event is generated.
getter/setter pairinherited
elasticityMultiplier double?
Controls the scale of automatic speed-based distanceFilter elasticity.
getter/setter pairinherited
enabled bool
Whether the plugin is current stopped or started (BackgroundGeolocation.stop / BackgroundGeolocation.start).
getter/setter pair
enableHeadless bool?
[Android only] Enables "Headless" operation allowing you to respond to events after you app has been terminated with stopOnTerminate:false.
getter/setter pairinherited
enableTimestampMeta bool?
Enable extra timestamp meta data to be appended to each recorded location, including system-time.
getter/setter pairinherited
extras Map<String, dynamic>?
Optional arbitrary key/values {} applied to each recorded location.
getter/setter pairinherited
fastestLocationUpdateInterval int?
[Android only] Explicitly set the fastest interval for location updates, in milliseconds.
getter/setter pairinherited
forceReloadOnBoot bool?
@deprecated: Banned in Android 10. Use enableHeadless instead
getter/setter pairinherited
forceReloadOnGeofence bool?
@deprecated: Banned in Android 10. Use enableHeadless instead
getter/setter pairinherited
forceReloadOnHeartbeat bool?
@deprecated: Banned in Android 10. Use enableHeadless instead
getter/setter pairinherited
forceReloadOnLocationChange bool?
@deprecated: Banned in Android 10. Use enableHeadless instead
getter/setter pairinherited
forceReloadOnMotionChange bool?
@deprecated: Banned in Android 10. Use enableHeadless instead Force launch your terminated App after a BackgroundGeolocation.onMotionChange event.
getter/setter pairinherited
forceReloadOnSchedule bool?
@deprecated: Banned in Android 10. Use enableHeadless instead
getter/setter pairinherited
foregroundService bool?
[Android only] Configure the plugin service to run as a more robust "Foreground Service".
getter/setter pairinherited
geofenceInitialTriggerEntry bool?
When a device is already within a just-created geofence, fire the enter transition immediately.
getter/setter pairinherited
geofenceModeHighAccuracy bool?
[Android only] Enable high-accuracy for geofence-only mode (See BackgroundGeolocation.startGeofences).
getter/setter pairinherited
geofenceProximityRadius int?
The radius around current location to query for geofences to activate monitoring upon.
getter/setter pairinherited
geofenceTemplate String?
Optional custom template for rendering geofence JSON request data in HTTP requests.
getter/setter pairinherited
hashCode int
The hash code for this object.
no setterinherited
headers Map<String, dynamic>?
Optional HTTP headers applied to each HTTP request.
getter/setter pairinherited
heartbeatInterval int?
Controls the rate (in seconds) the BackgroundGeolocation.onHeartbeat event will fire.
getter/setter pairinherited
httpRootProperty String?
The root property of the JSON schema where location-data will be attached.
getter/setter pairinherited
httpTimeout int?
HTTP request timeout in milliseconds.
getter/setter pairinherited
isFirstBoot bool
Indicates if this is the first launch of the app after initial install
getter/setter pair
isMoving bool?
Configure the initial tracking-state after BackgroundGeolocation.start is called.
getter/setter pairinherited
locationAuthorizationAlert Map<String, dynamic>?
[iOS only] Controls the text-elements of the plugin's location-authorization dialog.
getter/setter pairinherited
locationAuthorizationRequest String?
Defines the desired location-authorization request you wish for the user to authorize:
getter/setter pairinherited
locationsOrderDirection String?
Controls the order that locations are selected from the database (and uploaded to your server).
getter/setter pairinherited
locationTemplate String?
Optional custom template for rendering location JSON request data in HTTP requests.
getter/setter pairinherited
locationTimeout int?
The default timeout in seconds when requesting a location before the SDK gives up and fires a LocationError.
getter/setter pairinherited
locationUpdateInterval int?
[Android only] Set the desired interval for active location updates, in milliseconds.
getter/setter pairinherited
logLevel int?
Controls the volume of recorded events in the plugin's logging database.
getter/setter pairinherited
logMaxDays int?
Maximum number of days to persist a log-entry in database.
getter/setter pairinherited
map Map
getter/setter pair
maxBatchSize int?
Controls the number of records attached to each batch HTTP request.
getter/setter pairinherited
maxDaysToPersist int?
Maximum number of days to store a geolocation in plugin's SQLite database.
getter/setter pairinherited
maxMonitoredGeofences int?
The maximum number of geofences to monitor at-a-time, overriding the platform default (iOS: 20; Android 100). NOTE: This option is for specialized use-cases where you wish to monitor LESS THAN the platform maximum. This option should generally not be used.
getter/setter pairinherited
maxRecordsToPersist int?
Maximum number of records to persist in plugin's SQLite database.
getter/setter pairinherited
method String?
The HTTP method to use when creating an HTTP request to your configured url.
getter/setter pairinherited
minimumActivityRecognitionConfidence int?
The minimum motion-activity confidence to conclude a device is moving.
getter/setter pairinherited
motionTriggerDelay int?
[Android only] Optionally add a delay in milliseconds to trigger Android into the moving state when Motion API reports the device is moving (eg: on_foot, in_vehicle)
getter/setter pairinherited
notification Notification?
(Android only) Configure the persistent foreground notification.
getter/setter pairinherited
notificationChannelName String?
@deprecated. Use Notification.channelName
getter/setter pairinherited
notificationColor String?
@deprecated. Use Notification.color.
getter/setter pairinherited
notificationLargeIcon String?
@deprecated. Use Notification.largeIcon.
getter/setter pairinherited
notificationPriority int?
@deprecated. Use Notification.priority.
getter/setter pairinherited
notificationSmallIcon String?
@deprecated. Use Notification.smallIcon.
getter/setter pairinherited
notificationText String?
@deprecated. Use Notification.text.
getter/setter pairinherited
notificationTitle String?
@deprecated. Use Notification.title.
getter/setter pairinherited
odometer double
Current distance traveled.
getter/setter pair
params Map<String, dynamic>?
Optional HTTP params appended to the JSON body of each HTTP request.
getter/setter pairinherited
pausesLocationUpdatesAutomatically bool?
[iOS only] Configure iOS location API to never automatically turn off.
getter/setter pairinherited
persistMode int?
Allows you to specify which events to persist to the SDK's internal database: locations | geofences | all (default).
getter/setter pairinherited
preventSuspend bool?
[iOS only] Prevent iOS from suspending your application in the background after location-services have been switched off.
getter/setter pairinherited
reset bool?
Forces BackgroundGeolocation.ready to apply supplied Config with each application launch.
getter/setter pairinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
schedule List<String>?
Configures an automated, cron-like schedule for the plugin to BackgroundGeolocation.start / BackgroundGeolocation.stop tracking at pre-defined times.
getter/setter pairinherited
schedulerEnabled bool
Whether the plugin's Config.schedule has been activated with BackgroundGeolocation.startSchedule.
getter/setter pair
scheduleUseAlarmManager bool?
Android only Force the Android scheduler to use AlarmManager (more precise) instead of JobScheduler. Defaults to false.
getter/setter pairinherited
showsBackgroundLocationIndicator bool?
[iOS Only] A Boolean indicating whether the status bar changes its appearance when an app uses location services in the background.
getter/setter pairinherited
speedJumpFilter int?
Experimental filter to ignore anomalous locations that suddenly jump an unusual distance from last. The SDK will calculate an apparent speed and distance relative to last known location. If the location suddenly teleports from last location, it will be ignored.
getter/setter pairinherited
startOnBoot bool?
Controls whether to resume location-tracking after device is rebooted.
getter/setter pairinherited
stationaryRadius double?
[iOS only] The minimum distance the device must move beyond the stationary location for aggressive background-tracking to engage.
getter/setter pairinherited
stopAfterElapsedMinutes int?
Automatically BackgroundGeolocation.stop tracking after x minutes.
getter/setter pairinherited
stopDetectionDelay int?
[iOS only] Allows the iOS stop-detection system to be delayed from activating.
getter/setter pairinherited
stopOnStationary bool?
Automatically BackgroundGeolocation.stop when the stopTimeout elapses.
getter/setter pairinherited
stopOnTerminate bool?
Controls whether to continue location-tracking after application is terminated.
getter/setter pairinherited
stopTimeout int?
Minutes to wait in moving state with no movement before considering the device stationary.
getter/setter pairinherited
trackingMode int
Whether the plugin is in the location-tracking mode (BackgroundGeolocation.start or geofences-only mode (BackgroundGeolocation.startGeofences).
getter/setter pair
transistorAuthorizationToken TransistorAuthorizationToken?
Convenience option to automatically configures the SDK to upload locations to the Transistor Software demo server at http://tracker.transistorsoft.com (or your own local instance of background-geolocation-console)
getter/setter pairinherited
triggerActivities String?
Configures a comma-separated list of motion-activities which are allow to trigger location-tracking. ⚠️ Warning: Requires that the user grant your app the "Motion/Health" permission. These are the comma-delimited list of activity-names returned by the ActivityRecognition API which will trigger a state-change from stationary to moving. By default, the plugin will trigger on any of the moving-states:
getter/setter pairinherited
url String?
Your server url where you wish to POST locations to.
getter/setter pairinherited
useSignificantChangesOnly bool?
Set true in order to disable constant background-tracking. Locations will be recorded only periodically.
getter/setter pairinherited

Methods

noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
set(String key, dynamic value) Config
inherited
toMap() Map?
inherited
toString() String
Return String representation of State for print to log.
override

Operators

operator ==(Object other) bool
The equality operator.
inherited