Skip to content

Route Intents

Start a previously saved route by name.

Action: theappninjas.gpsjoystick.ROUTE Tier: Free

ExtraTypeRequiredDescription
nameStringYesName of the saved route (case-sensitive)
  1. Create a new Task → Add Action → Misc → Send Intent
  2. Set Action to theappninjas.gpsjoystick.ROUTE
  3. Enter Extra: name:My Awesome Route
  4. Set Target to Service
Terminal window
adb shell am start-foreground-service \
-a theappninjas.gpsjoystick.ROUTE \
--es name "My Awesome Route"

Walk through a list of waypoints with optional speed and teleport-to-start.

Action: theappninjas.gpsjoystick.WALK Tier: Pro

ExtraTypeRequiredDescription
waypointsStringYesSemicolon-separated lat,lng pairs: lat,lng;lat,lng;...
teleportbooleanNoTeleport to first waypoint before walking (default: false)
speedfloatNoWalking speed in km/h
  1. Create a new Task → Add Action → Misc → Send Intent
  2. Set Action to theappninjas.gpsjoystick.WALK
  3. Enter Extra: waypoints:37.8095,-122.4101;37.8060,-122.4090
  4. (Optional) Enter Extra: teleport:true
  5. (Optional) Enter Extra: speed:15.0
  6. Set Target to Service
Terminal window
adb shell am start-foreground-service \
-a theappninjas.gpsjoystick.WALK \
--es waypoints "37.8095,-122.4101;37.8060,-122.4090" \
--ez teleport true \
--ef speed 15.0

Invalid or empty waypoint strings are silently ignored. Verify your waypoint format (lat,lng;lat,lng;...) before sending.


Generate a random or circular route from the current position and start walking it.

Action: theappninjas.gpsjoystick.GENERATE Tier: Pro

ExtraTypeRequiredDescription
modeintNo0 = random (default), 1 = circle
marker_countintNoNumber of waypoints, 1-5000 (default: 10)
offsetfloatNoDistance between points in meters (default: 50.0)
Terminal window
# Generate a circular route with 20 waypoints, 100m apart
adb shell am start-foreground-service \
-a theappninjas.gpsjoystick.GENERATE \
--ei mode 1 \
--ei marker_count 20 \
--ef offset 100.0

Record a route by adding waypoints from the current position.

Start recording a new route. The joystick must be running.

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

Error: Returns ALREADY_RECORDING if a recording is already in progress.

Add the current position as a waypoint to the active recording.

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

Error: Returns NOT_RECORDING if no recording is active.

Stop recording. Optionally save the recorded route.

Action: theappninjas.gpsjoystick.RECORD_STOP Tier: Pro

ExtraTypeRequiredDescription
nameStringNoRoute name - if provided, saves the route. If omitted, the recording is cancelled and discarded.

Success broadcast: theappninjas.gpsjoystick.RECORD_SAVED with extras name (String) and point_count (int). Requires at least 2 recorded points.

Error: Returns SAVE_FAILED if fewer than 2 points were recorded.

Terminal window
# Start recording
adb shell am start-foreground-service \
-a theappninjas.gpsjoystick.RECORD_START
# Walk around, adding waypoints as you go
adb shell am start-foreground-service \
-a theappninjas.gpsjoystick.RECORD_ADD
# Save the recording
adb shell am start-foreground-service \
-a theappninjas.gpsjoystick.RECORD_STOP \
--es name "My Recorded Route"