Returns the current user's driving state.

enum class MoveTripState {



SDK detection service didn't start.


Device is in idle.


Device is actively driving in a trip.


Device is holding position in a trip.


Device is in a trip that is flagged as ignored by the host app.

Trip goes through different states during the SDK's life cycle. Initially the MoveTripState is .unknown, until the service is started.

When service successfully starts, the MoveTripState will transit to .idle state.

When the user starts driving a car or riding a bicycle (if configured), a trip will start and the MoveTripState will transit to .driving. During the trip, the user could sometimes choose to go to temporarily idle (like in traffic jams, traffic stops, etc.), this is expressed through the .halt MoveTripState. Halt state means that the user is in an active trip, but is currently stationary. As soon as the SDK detects that the user's trip has ended, MoveTripState will transit back again to .idle.

While being on a trip, the host app can choose to ignore the ongoing trip using the ignoreCurrentTrip API (Android / iOS). This will transit the MoveTripState to .ignored MoveTripState. Ignored trips are purged and not forwarded to the server or further processed.

MoveTripState related APIs

getTripState (Android / iOS)

Gets the current MoveTripState .

setTripStateListener(Android / iOS)

Provide a block to be invoked every time MoveTripState changes.

finishCurrentTrip (Android / iOS)

Ends the current ongoing trip.

ignoreCurrentTrip (Android / iOS)

Ignores the current ongoing trip.

Last updated