Skip to content

Status Query

Query the current runtime state of GPS JoyStick. The app responds by broadcasting theappninjas.gpsjoystick.STATUS_RESPONSE with all state data as extras.

Action: theappninjas.gpsjoystick.STATUS Tier: Pro Extras: None

Works even when the joystick is idle (not actively mocking).

Action: theappninjas.gpsjoystick.STATUS_RESPONSE

ExtraTypeDescription
latdoubleCurrent latitude
lngdoubleCurrent longitude
altdoubleCurrent altitude (meters)
speeddoubleCurrent speed (km/h)
bearingdoubleCurrent bearing (degrees)
is_route_activebooleanWhether a route is currently running
is_route_pausedbooleanWhether the active route is paused
route_remainingintRemaining waypoints in the active route
route_totalintTotal waypoints in the active route
route_modeStringRoute completion mode: "stop", "loop", or "reverse"
is_reversedbooleanWhether route is currently running in reverse
is_runningbooleanWhether the joystick service is active
is_hiddenbooleanWhether the joystick overlay is hidden
is_recordingbooleanWhether route recording is active
record_countintNumber of waypoints recorded so far

Note: The STATUS_RESPONSE extras use double for location values (lat, lng, alt, speed, bearing), while the input extras for TELEPORT, WALK, and SPEED use float. This is intentional: the app casts internal values to double when broadcasting status but reads incoming extras as float.

Terminal window
adb shell am start-foreground-service -a theappninjas.gpsjoystick.STATUS

The response is broadcast - to capture it from ADB, you can use logcat or a broadcast receiver.

  1. Create a new Profile → Select Event
  2. Choose System → Intent Received
  3. Set Action to theappninjas.gpsjoystick.STATUS_RESPONSE
  4. Link a Task - extras are available as Tasker variables:
Tasker VariableCorresponds To
%latCurrent latitude
%lngCurrent longitude
%altCurrent altitude
%speedCurrent speed
%bearingCurrent bearing
%is_route_activeRoute running state
%is_route_pausedRoute paused state
%route_remainingRemaining waypoints
%route_totalTotal waypoints
%route_modeRoute mode (stop/loop/reverse)
%is_reversedReverse direction state
%is_runningService running state
%is_hiddenJoystick visibility state
%is_recordingRecording active state
%record_countRecorded waypoints count

Use STATUS to build conditional workflows - check if a route is finished before starting the next one:

Tasker Workflow:

  1. Send STATUS intent
  2. Receive STATUS_RESPONSE in a profile
  3. Check %is_route_active - if false, send the next ROUTE intent
  4. Check %route_remaining - display progress notification