Wear OS Health Services ExerciseType: all 85 constants with their ids and same-name constants on the other platforms
85 ExerciseType constants · 65 with a same-name counterpart · read 2026-10-18
Wear OS Health Services names an exercise with 85 public ExerciseType constants. 65 share a name with a constant on HealthKit, Health Connect or the Google Health API once the EXERCISE_TYPE_ prefix, case and separators are removed; the other 20, such as ExerciseType.ALPINE_SKIING and ExerciseType.BACK_EXTENSION, have none. The reference does not print the ids; the androidx source it links as View Source does, and the ids here are read from it. Read from the sources on 2026-10-18.
The join rule and the whole crosswalk are on the workout types hub. The other lists: HKWorkoutActivityType · ExerciseSessionRecord.EXERCISE_TYPE_* · Exercise.exerciseType.
All 85 constants
Names are copied exactly from the source; the last column lists the constants on the other platforms whose names match under the crosswalk rule, with their numbers where printed.
| Constant | Id | Google’s description | Same name on |
|---|---|---|---|
| ALPINE_SKIING | 92 | None on the reference | No same-name constant |
| BACKPACKING | 84 | None on the reference | Google Health API: BACKPACKING |
| BACK_EXTENSION | 1 | None on the reference | No same-name constant |
| BADMINTON | 2 | None on the reference | HealthKit: badmintonHealth Connect: EXERCISE_TYPE_BADMINTON (2)Google Health API: BADMINTON |
| BARBELL_SHOULDER_PRESS | 3 | None on the reference | No same-name constant |
| BASEBALL | 4 | None on the reference | HealthKit: baseballHealth Connect: EXERCISE_TYPE_BASEBALL (4)Google Health API: BASEBALL |
| BASKETBALL | 5 | None on the reference | HealthKit: basketballHealth Connect: EXERCISE_TYPE_BASKETBALL (5)Google Health API: BASKETBALL |
| BENCH_PRESS | 6 | None on the reference | No same-name constant |
| BIKING | 8 | None on the reference | Health Connect: EXERCISE_TYPE_BIKING (8)Google Health API: BIKING |
| BIKING_STATIONARY | 9 | None on the reference | Health Connect: EXERCISE_TYPE_BIKING_STATIONARY (9) |
| BOOT_CAMP | 10 | None on the reference | Health Connect: EXERCISE_TYPE_BOOT_CAMP (10)Google Health API: BOOTCAMP |
| BOXING | 11 | None on the reference | HealthKit: boxingHealth Connect: EXERCISE_TYPE_BOXING (11)Google Health API: BOXING |
| BURPEE | 12 | None on the reference | No same-name constant |
| CALISTHENICS | 13 | Calisthenics (E.g., push ups, sit ups, pull-ups, jumping jacks). | Health Connect: EXERCISE_TYPE_CALISTHENICS (13)Google Health API: CALISTHENICSSide by side → |
| CRICKET | 14 | None on the reference | HealthKit: cricketHealth Connect: EXERCISE_TYPE_CRICKET (14)Google Health API: CRICKET |
| CROSS_COUNTRY_SKIING | 91 | None on the reference | HealthKit: crossCountrySkiing |
| CRUNCH | 15 | None on the reference | No same-name constant |
| DANCING | 16 | None on the reference | Health Connect: EXERCISE_TYPE_DANCING (16)Google Health API: DANCING |
| DEADLIFT | 17 | None on the reference | No same-name constant |
| ELLIPTICAL | 25 | None on the reference | HealthKit: ellipticalHealth Connect: EXERCISE_TYPE_ELLIPTICAL (25)Google Health API: ELLIPTICALSide by side → |
| EXERCISE_CLASS | 26 | None on the reference | Health Connect: EXERCISE_TYPE_EXERCISE_CLASS (26)Google Health API: EXERCISE_CLASS |
| FENCING | 27 | None on the reference | HealthKit: fencingHealth Connect: EXERCISE_TYPE_FENCING (27)Google Health API: FENCING |
| FOOTBALL_AMERICAN | 29 | None on the reference | Health Connect: EXERCISE_TYPE_FOOTBALL_AMERICAN (28)Google Health API: FOOTBALL_AMERICAN |
| FOOTBALL_AUSTRALIAN | 30 | None on the reference | Health Connect: EXERCISE_TYPE_FOOTBALL_AUSTRALIAN (29)Google Health API: FOOTBALL_AUSTRALIAN |
| FORWARD_TWIST | 31 | None on the reference | No same-name constant |
| FRISBEE_DISC | 28 | None on the reference | Health Connect: EXERCISE_TYPE_FRISBEE_DISC (31) |
| GOLF | 32 | None on the reference | HealthKit: golfHealth Connect: EXERCISE_TYPE_GOLF (32)Google Health API: GOLF |
| GUIDED_BREATHING | 33 | None on the reference | Health Connect: EXERCISE_TYPE_GUIDED_BREATHING (33) |
| GYMNASTICS | 34 | None on the reference | HealthKit: gymnasticsHealth Connect: EXERCISE_TYPE_GYMNASTICS (34)Google Health API: GYMNASTICS |
| HANDBALL | 35 | None on the reference | HealthKit: handballHealth Connect: EXERCISE_TYPE_HANDBALL (35)Google Health API: HANDBALL |
| HIGH_INTENSITY_INTERVAL_TRAINING | 36 | None on the reference | HealthKit: highIntensityIntervalTrainingHealth Connect: EXERCISE_TYPE_HIGH_INTENSITY_INTERVAL_TRAINING (36)Side by side → |
| HIKING | 37 | None on the reference | HealthKit: hikingHealth Connect: EXERCISE_TYPE_HIKING (37)Google Health API: HIKINGSide by side → |
| HORSE_RIDING | 88 | None on the reference | No same-name constant |
| ICE_HOCKEY | 38 | None on the reference | Health Connect: EXERCISE_TYPE_ICE_HOCKEY (38) |
| ICE_SKATING | 39 | None on the reference | Health Connect: EXERCISE_TYPE_ICE_SKATING (39)Google Health API: ICE_SKATING |
| INLINE_SKATING | 87 | None on the reference | No same-name constant |
| JUMPING_JACK | 41 | None on the reference | No same-name constant |
| JUMP_ROPE | 40 | None on the reference | HealthKit: jumpRope |
| LAT_PULL_DOWN | 42 | None on the reference | No same-name constant |
| LUNGE | 43 | None on the reference | No same-name constant |
| MARTIAL_ARTS | 44 | None on the reference | HealthKit: martialArtsHealth Connect: EXERCISE_TYPE_MARTIAL_ARTS (44)Google Health API: MARTIAL_ARTS |
| MEDITATION | 45 | None on the reference | No same-name constant |
| MOUNTAIN_BIKING | 85 | None on the reference | No same-name constant |
| ORIENTEERING | 86 | None on the reference | Google Health API: ORIENTEERING |
| PADDLING | 46 | None on the reference | Health Connect: EXERCISE_TYPE_PADDLING (46) |
| PARA_GLIDING | 47 | None on the reference | Health Connect: EXERCISE_TYPE_PARAGLIDING (47)Google Health API: PARAGLIDING |
| PILATES | 48 | None on the reference | HealthKit: pilatesHealth Connect: EXERCISE_TYPE_PILATES (48)Google Health API: PILATESSide by side → |
| PLANK | 49 | None on the reference | No same-name constant |
| RACQUETBALL | 50 | None on the reference | HealthKit: racquetballHealth Connect: EXERCISE_TYPE_RACQUETBALL (50)Google Health API: RACQUETBALL |
| ROCK_CLIMBING | 51 | None on the reference | Health Connect: EXERCISE_TYPE_ROCK_CLIMBING (51)Google Health API: ROCK_CLIMBING |
| ROLLER_HOCKEY | 52 | None on the reference | Health Connect: EXERCISE_TYPE_ROLLER_HOCKEY (52) |
| ROLLER_SKATING | 89 | None on the reference | Google Health API: ROLLER_SKATING |
| ROWING | 53 | None on the reference | HealthKit: rowingHealth Connect: EXERCISE_TYPE_ROWING (53)Google Health API: ROWING |
| ROWING_MACHINE | 54 | None on the reference | Health Connect: EXERCISE_TYPE_ROWING_MACHINE (54)Google Health API: ROWING_MACHINE |
| RUGBY | 57 | None on the reference | HealthKit: rugbyHealth Connect: EXERCISE_TYPE_RUGBY (55)Google Health API: RUGBY |
| RUNNING | 55 | None on the reference | HealthKit: runningHealth Connect: EXERCISE_TYPE_RUNNING (56)Google Health API: RUNNINGSide by side → |
| RUNNING_TREADMILL | 56 | None on the reference | Health Connect: EXERCISE_TYPE_RUNNING_TREADMILL (57) |
| SAILING | 58 | None on the reference | HealthKit: sailingHealth Connect: EXERCISE_TYPE_SAILING (58)Google Health API: SAILING |
| SCUBA_DIVING | 59 | None on the reference | Health Connect: EXERCISE_TYPE_SCUBA_DIVING (59)Google Health API: SCUBA_DIVING |
| SKATING | 60 | None on the reference | Health Connect: EXERCISE_TYPE_SKATING (60)Google Health API: SKATING |
| SKIING | 61 | None on the reference | Health Connect: EXERCISE_TYPE_SKIING (61)Google Health API: SKIING |
| SNOWBOARDING | 62 | None on the reference | HealthKit: snowboardingHealth Connect: EXERCISE_TYPE_SNOWBOARDING (62)Google Health API: SNOWBOARDING |
| SNOWSHOEING | 63 | None on the reference | Health Connect: EXERCISE_TYPE_SNOWSHOEING (63)Google Health API: SNOWSHOEING |
| SOCCER | 64 | None on the reference | HealthKit: soccerHealth Connect: EXERCISE_TYPE_SOCCER (64)Google Health API: SOCCER |
| SOFTBALL | 65 | None on the reference | HealthKit: softballHealth Connect: EXERCISE_TYPE_SOFTBALL (65)Google Health API: SOFTBALL |
| SQUASH | 66 | None on the reference | HealthKit: squashHealth Connect: EXERCISE_TYPE_SQUASH (66)Google Health API: SQUASH |
| SQUAT | 67 | None on the reference | No same-name constant |
| STAIR_CLIMBING | 68 | None on the reference | HealthKit: stairClimbingHealth Connect: EXERCISE_TYPE_STAIR_CLIMBING (68)Side by side → |
| STAIR_CLIMBING_MACHINE | 69 | None on the reference | Health Connect: EXERCISE_TYPE_STAIR_CLIMBING_MACHINE (69) |
| STRENGTH_TRAINING | 70 | None on the reference | Health Connect: EXERCISE_TYPE_STRENGTH_TRAINING (70)Google Health API: STRENGTH_TRAINING |
| STRETCHING | 71 | None on the reference | Health Connect: EXERCISE_TYPE_STRETCHING (71)Google Health API: STRETCHING |
| SURFING | 72 | None on the reference | Health Connect: EXERCISE_TYPE_SURFING (72)Google Health API: SURFING |
| SWIMMING_OPEN_WATER | 73 | None on the reference | Health Connect: EXERCISE_TYPE_SWIMMING_OPEN_WATER (73)Google Health API: SWIMMING_OPEN_WATER |
| SWIMMING_POOL | 74 | None on the reference | Health Connect: EXERCISE_TYPE_SWIMMING_POOL (74)Google Health API: SWIMMING_POOL |
| TABLE_TENNIS | 75 | None on the reference | HealthKit: tableTennisHealth Connect: EXERCISE_TYPE_TABLE_TENNIS (75)Google Health API: TABLE_TENNIS |
| TENNIS | 76 | None on the reference | HealthKit: tennisHealth Connect: EXERCISE_TYPE_TENNIS (76)Google Health API: TENNIS |
| UNKNOWN | 0 | The current exercise type of the user is unknown or not set. | No same-name constant |
| UPPER_TWIST | 77 | None on the reference | No same-name constant |
| VOLLEYBALL | 78 | None on the reference | HealthKit: volleyballHealth Connect: EXERCISE_TYPE_VOLLEYBALL (78)Google Health API: VOLLEYBALL |
| WALKING | 79 | None on the reference | HealthKit: walkingHealth Connect: EXERCISE_TYPE_WALKING (79)Google Health API: WALKINGSide by side → |
| WATER_POLO | 80 | None on the reference | HealthKit: waterPoloHealth Connect: EXERCISE_TYPE_WATER_POLO (80)Google Health API: WATER_POLO |
| WEIGHTLIFTING | 81 | None on the reference | Health Connect: EXERCISE_TYPE_WEIGHTLIFTING (81)Google Health API: WEIGHTLIFTING |
| WORKOUT | 82 | None on the reference | Google Health API: WORKOUT |
| YACHTING | 90 | None on the reference | No same-name constant |
| YOGA | 83 | None on the reference | HealthKit: yogaHealth Connect: EXERCISE_TYPE_YOGA (83)Google Health API: YOGASide by side → |
Where the ids come from
Google’s ExerciseType reference lists the 85 public constants without numbers. The androidx source it links as View Source declares each as ExerciseType(id, name), and the ids above are read from those declarations. The same file declares 8 more constants internal, which an app cannot reference and the reference does not list:
BENCH_SIT_UP= 7DUMBBELL_CURL_RIGHT_ARM= 18DUMBBELL_CURL_LEFT_ARM= 19DUMBBELL_FRONT_RAISE= 20DUMBBELL_LATERAL_RAISE= 21DUMBBELL_TRICEPS_EXTENSION_LEFT_ARM= 22DUMBBELL_TRICEPS_EXTENSION_RIGHT_ARM= 23DUMBBELL_TRICEPS_EXTENSION_TWO_ARM= 24
Ids that differ from Health Connect
6 constants share a name with a Health Connect constant but not its number: RUGBY is 57 here and 55 on Health Connect; RUNNING is 55 here and 56 on Health Connect; FOOTBALL_AMERICAN is 29 here and 28 on Health Connect; FOOTBALL_AUSTRALIAN is 30 here and 29 on Health Connect; FRISBEE_DISC is 28 here and 31 on Health Connect; RUNNING_TREADMILL is 56 here and 57 on Health Connect.
No same-name counterpart (20)
No other platform spells these names the same way under the rule. That is a statement about names, not a finding that the activity is missing elsewhere.
ALPINE_SKIING, BACK_EXTENSION, BARBELL_SHOULDER_PRESS, BENCH_PRESS, BURPEE, CRUNCH, DEADLIFT, FORWARD_TWIST, HORSE_RIDING, INLINE_SKATING, JUMPING_JACK, LAT_PULL_DOWN, LUNGE, MEDITATION, MOUNTAIN_BIKING, PLANK, SQUAT, UNKNOWN, UPPER_TWIST, YACHTING
The catch-all: ExerciseType.UNKNOWN
- “UNKNOWN: The current exercise type of the user is unknown or not set.” (ExerciseType (Jetpack reference, Java))
- “fromId(id): Returns the
ExerciseTypebased on its uniqueid. If theiddoesn't map to an particularExerciseType, thenExerciseType.UNKNOWNis returned by default.” (ExerciseType (Jetpack reference, Java)) - “Each ExerciseType supports certain data types for metrics and for exercise goals. Check these capabilities at startup, because they can vary depending on the device. A device might not support a certain exercise type, or it might not support a specific function, such as auto-pause.” (Record an exercise with ExerciseClient)
Side by side, one activity at a time
More on Wear OS Health Services on this site
Questions
Where does Google print the Wear OS ExerciseType ids?
Not on the ExerciseType reference, which lists the 85 public constants without numbers. The androidx source it links declares each one as ExerciseType(id, name), for example RUNNING with id 55, and ExerciseType.fromId(id) returns UNKNOWN for an id that matches none. The source also declares 8 internal constants the reference does not list.
How many exercise types does Wear OS Health Services define?
Google's ExerciseType reference lists 85 public constants, read on 2026-10-18. The androidx source declares 93 in all: those 85 and 8 internal ones an app cannot reference (BENCH_SIT_UP, DUMBBELL_CURL_RIGHT_ARM, DUMBBELL_CURL_LEFT_ARM, DUMBBELL_FRONT_RAISE, DUMBBELL_LATERAL_RAISE, DUMBBELL_TRICEPS_EXTENSION_LEFT_ARM, DUMBBELL_TRICEPS_EXTENSION_RIGHT_ARM and DUMBBELL_TRICEPS_EXTENSION_TWO_ARM), under the comment “Next ID: 93”.
Which Wear OS exercise types have no Health Connect constant with the same name?
25 of the 85, not counting UNKNOWN: ALPINE_SKIING, BACKPACKING, BACK_EXTENSION, BARBELL_SHOULDER_PRESS, BENCH_PRESS, BURPEE, CROSS_COUNTRY_SKIING, CRUNCH, DEADLIFT, FORWARD_TWIST, HORSE_RIDING, INLINE_SKATING, JUMPING_JACK, JUMP_ROPE, LAT_PULL_DOWN, LUNGE, MEDITATION, MOUNTAIN_BIKING, ORIENTEERING, PLANK, ROLLER_SKATING, SQUAT, UPPER_TWIST, WORKOUT and YACHTING. Of all 85, 20 (UNKNOWN among them) match no name on any of the other three platforms.
Sources (4)
- ExerciseType (Jetpack reference, Java) · read 2026-10-18 · page last updated 2026-08-06 · sha256 aecc422742e2
- ExerciseType (Jetpack reference, Kotlin) · read 2026-10-18 · page last updated 2026-08-06 · sha256 336edaebf601
- ExerciseType.kt (androidx source) · androidx/androidx, branch androidx-main · read 2026-10-18 · sha256 4878a5203cdc
- Record an exercise with ExerciseClient · read 2026-10-18 · page last updated 2026-09-23 · sha256 cea0071de227