Quick start
01 Sept 2026 · Field Track 360
Create the process singleton and prepare it once from Application.onCreate. ready() is a suspend function and returns TrackItResult<TrackItState>.
``` val trackIt = TrackIt.getInstance(applicationContext)
when (val result = trackIt.ready(TrackItConfig(accessKey = "TRACKIT-eyJ…"))) { is TrackItResult.Ok -> Unit is TrackItResult.Error -> Log.e("TrackIt", "${result.code}: ${result.message}") } ```
Calling start() before ready() returns NOT_READY. Both start() and stop() are suspend functions; this release ships no callback or Future facade.
Permissions, in order
1. Notification (API 33+) 2. Fine or coarse foreground location 3. Background location - a separate request, which Android will not grant in the same prompt 4. Activity recognition, if you want motion-triggered capture