Skip to content
AF

Health Connect exercise types: all 61 EXERCISE_TYPE_ constants, their platform values, allowed segments and same-name constants elsewhere

61 ExerciseSessionRecord.EXERCISE_TYPE_* constants · 60 with a same-name counterpart · read 2026-10-18

Health Connect names an exercise session's type with 61 ExerciseSessionRecord.EXERCISE_TYPE_ constants. 60 share a name with a constant on HealthKit, Wear OS or the Google Health API once the EXERCISE_TYPE_ prefix, case and separators are removed; the other one, ExerciseSessionRecord.EXERCISE_TYPE_OTHER_WORKOUT, has no same-name counterpart. The Jetpack reference prints every value; the platform API (android.health.connect, API level 34) numbers the same types differently in ExerciseSessionType, and the library converts between the two. 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 · ExerciseType · Exercise.exerciseType.

All 61 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.

ConstantValuePlatform API constantSegments it acceptsSame name on
EXERCISE_TYPE_BADMINTON2EXERCISE_SESSION_TYPE_BADMINTON = 1API level 34, U Extensions 7Universal segments onlyHealthKit: badmintonWear OS: BADMINTON (2)Google Health API: BADMINTON
EXERCISE_TYPE_BASEBALL4EXERCISE_SESSION_TYPE_BASEBALL = 2API level 34, U Extensions 7Universal segments onlyHealthKit: baseballWear OS: BASEBALL (4)Google Health API: BASEBALL
EXERCISE_TYPE_BASKETBALL5EXERCISE_SESSION_TYPE_BASKETBALL = 3API level 34, U Extensions 7Universal segments onlyHealthKit: basketballWear OS: BASKETBALL (5)Google Health API: BASKETBALL
EXERCISE_TYPE_BIKING8EXERCISE_SESSION_TYPE_BIKING = 4API level 34, U Extensions 7BIKINGWear OS: BIKING (8)Google Health API: BIKING
EXERCISE_TYPE_BIKING_STATIONARY9EXERCISE_SESSION_TYPE_BIKING_STATIONARY = 5API level 34, U Extensions 7BIKING_STATIONARYWear OS: BIKING_STATIONARY (9)
EXERCISE_TYPE_BOOT_CAMP10EXERCISE_SESSION_TYPE_BOOT_CAMP = 6API level 34, U Extensions 7Any segment typeWear OS: BOOT_CAMP (10)Google Health API: BOOTCAMP
EXERCISE_TYPE_BOXING11EXERCISE_SESSION_TYPE_BOXING = 7API level 34, U Extensions 7Universal segments onlyHealthKit: boxingWear OS: BOXING (11)Google Health API: BOXING
EXERCISE_TYPE_CALISTHENICS13EXERCISE_SESSION_TYPE_CALISTHENICS = 8API level 34, U Extensions 742 segment types (EXERCISE_SEGMENTS)Wear OS: CALISTHENICS (13)Google Health API: CALISTHENICSSide by side →
EXERCISE_TYPE_CRICKET14EXERCISE_SESSION_TYPE_CRICKET = 9API level 34, U Extensions 7Universal segments onlyHealthKit: cricketWear OS: CRICKET (14)Google Health API: CRICKET
EXERCISE_TYPE_DANCING16EXERCISE_SESSION_TYPE_DANCING = 10API level 34, U Extensions 7Universal segments onlyWear OS: DANCING (16)Google Health API: DANCING
EXERCISE_TYPE_ELLIPTICAL25EXERCISE_SESSION_TYPE_ELLIPTICAL = 60API level 34, U Extensions 7ELLIPTICALHealthKit: ellipticalWear OS: ELLIPTICAL (25)Google Health API: ELLIPTICALSide by side →
EXERCISE_TYPE_EXERCISE_CLASS26EXERCISE_SESSION_TYPE_EXERCISE_CLASS = 11API level 34, U Extensions 7YOGA, BIKING_STATIONARY, PILATES, HIGH_INTENSITY_INTERVAL_TRAININGWear OS: EXERCISE_CLASS (26)Google Health API: EXERCISE_CLASS
EXERCISE_TYPE_FENCING27EXERCISE_SESSION_TYPE_FENCING = 12API level 34, U Extensions 7Universal segments onlyHealthKit: fencingWear OS: FENCING (27)Google Health API: FENCING
EXERCISE_TYPE_FOOTBALL_AMERICAN28EXERCISE_SESSION_TYPE_FOOTBALL_AMERICAN = 13API level 34, U Extensions 7Universal segments onlyWear OS: FOOTBALL_AMERICAN (29)Google Health API: FOOTBALL_AMERICAN
EXERCISE_TYPE_FOOTBALL_AUSTRALIAN29EXERCISE_SESSION_TYPE_FOOTBALL_AUSTRALIAN = 14API level 34, U Extensions 7Universal segments onlyWear OS: FOOTBALL_AUSTRALIAN (30)Google Health API: FOOTBALL_AUSTRALIAN
EXERCISE_TYPE_FRISBEE_DISC31EXERCISE_SESSION_TYPE_FRISBEE_DISC = 15API level 34, U Extensions 7Universal segments onlyWear OS: FRISBEE_DISC (28)
EXERCISE_TYPE_GOLF32EXERCISE_SESSION_TYPE_GOLF = 16API level 34, U Extensions 7Universal segments onlyHealthKit: golfWear OS: GOLF (32)Google Health API: GOLF
EXERCISE_TYPE_GUIDED_BREATHING33EXERCISE_SESSION_TYPE_GUIDED_BREATHING = 17API level 34, U Extensions 7This constant was deprecated in API level 37. Use MindfulnessSessionRecord of the corresponding type MindfulnessSessionRecord.MINDFULNESS_SESSION_TYPE_BREATHING.Universal segments onlyWear OS: GUIDED_BREATHING (33)
EXERCISE_TYPE_GYMNASTICS34EXERCISE_SESSION_TYPE_GYMNASTICS = 18API level 34, U Extensions 742 segment types (EXERCISE_SEGMENTS)HealthKit: gymnasticsWear OS: GYMNASTICS (34)Google Health API: GYMNASTICS
EXERCISE_TYPE_HANDBALL35EXERCISE_SESSION_TYPE_HANDBALL = 19API level 34, U Extensions 7Universal segments onlyHealthKit: handballWear OS: HANDBALL (35)Google Health API: HANDBALL
EXERCISE_TYPE_HIGH_INTENSITY_INTERVAL_TRAINING36EXERCISE_SESSION_TYPE_HIGH_INTENSITY_INTERVAL_TRAINING = 20API level 34, U Extensions 7Any segment typeHealthKit: highIntensityIntervalTrainingWear OS: HIGH_INTENSITY_INTERVAL_TRAINING (36)Side by side →
EXERCISE_TYPE_HIKING37EXERCISE_SESSION_TYPE_HIKING = 21API level 34, U Extensions 7WALKING, WHEELCHAIRHealthKit: hikingWear OS: HIKING (37)Google Health API: HIKINGSide by side →
EXERCISE_TYPE_ICE_HOCKEY38EXERCISE_SESSION_TYPE_ICE_HOCKEY = 22API level 34, U Extensions 7Universal segments onlyWear OS: ICE_HOCKEY (38)
EXERCISE_TYPE_ICE_SKATING39EXERCISE_SESSION_TYPE_ICE_SKATING = 23API level 34, U Extensions 7Universal segments onlyWear OS: ICE_SKATING (39)Google Health API: ICE_SKATING
EXERCISE_TYPE_MARTIAL_ARTS44EXERCISE_SESSION_TYPE_MARTIAL_ARTS = 24API level 34, U Extensions 7Universal segments onlyHealthKit: martialArtsWear OS: MARTIAL_ARTS (44)Google Health API: MARTIAL_ARTS
EXERCISE_TYPE_OTHER_WORKOUTCan be used to represent any generic workout that does not fall into a specific category. Any unknown new value definition will also fall automatically into EXERCISE_TYPE_OTHER_WORKOUT. Next Id: 84.0EXERCISE_SESSION_TYPE_OTHER_WORKOUT = 58API level 34, U Extensions 7Any segment typeNo same-name constant
EXERCISE_TYPE_PADDLING46EXERCISE_SESSION_TYPE_PADDLING = 25API level 34, U Extensions 7Universal segments onlyWear OS: PADDLING (46)
EXERCISE_TYPE_PARAGLIDING47EXERCISE_SESSION_TYPE_PARAGLIDING = 26API level 34, U Extensions 7Universal segments onlyWear OS: PARA_GLIDING (47)Google Health API: PARAGLIDING
EXERCISE_TYPE_PILATES48EXERCISE_SESSION_TYPE_PILATES = 27API level 34, U Extensions 7PILATESHealthKit: pilatesWear OS: PILATES (48)Google Health API: PILATESSide by side →
EXERCISE_TYPE_RACQUETBALL50EXERCISE_SESSION_TYPE_RACQUETBALL = 28API level 34, U Extensions 7Universal segments onlyHealthKit: racquetballWear OS: RACQUETBALL (50)Google Health API: RACQUETBALL
EXERCISE_TYPE_ROCK_CLIMBING51EXERCISE_SESSION_TYPE_ROCK_CLIMBING = 29API level 34, U Extensions 7Universal segments onlyWear OS: ROCK_CLIMBING (51)Google Health API: ROCK_CLIMBING
EXERCISE_TYPE_ROLLER_HOCKEY52EXERCISE_SESSION_TYPE_ROLLER_HOCKEY = 30API level 34, U Extensions 7Universal segments onlyWear OS: ROLLER_HOCKEY (52)
EXERCISE_TYPE_ROWING53EXERCISE_SESSION_TYPE_ROWING = 31API level 34, U Extensions 7Universal segments onlyHealthKit: rowingWear OS: ROWING (53)Google Health API: ROWING
EXERCISE_TYPE_ROWING_MACHINE54EXERCISE_SESSION_TYPE_ROWING_MACHINE = 61API level 34, U Extensions 7ROWING_MACHINEWear OS: ROWING_MACHINE (54)Google Health API: ROWING_MACHINE
EXERCISE_TYPE_RUGBY55EXERCISE_SESSION_TYPE_RUGBY = 32API level 34, U Extensions 7Universal segments onlyHealthKit: rugbyWear OS: RUGBY (57)Google Health API: RUGBY
EXERCISE_TYPE_RUNNING56EXERCISE_SESSION_TYPE_RUNNING = 33API level 34, U Extensions 7RUNNING, WALKINGHealthKit: runningWear OS: RUNNING (55)Google Health API: RUNNINGSide by side →
EXERCISE_TYPE_RUNNING_TREADMILL57EXERCISE_SESSION_TYPE_RUNNING_TREADMILL = 34API level 34, U Extensions 7RUNNING_TREADMILLWear OS: RUNNING_TREADMILL (56)
EXERCISE_TYPE_SAILING58EXERCISE_SESSION_TYPE_SAILING = 35API level 34, U Extensions 7Universal segments onlyHealthKit: sailingWear OS: SAILING (58)Google Health API: SAILING
EXERCISE_TYPE_SCUBA_DIVING59EXERCISE_SESSION_TYPE_SCUBA_DIVING = 36API level 34, U Extensions 7Universal segments onlyWear OS: SCUBA_DIVING (59)Google Health API: SCUBA_DIVING
EXERCISE_TYPE_SKATING60EXERCISE_SESSION_TYPE_SKATING = 37API level 34, U Extensions 7Universal segments onlyWear OS: SKATING (60)Google Health API: SKATING
EXERCISE_TYPE_SKIING61EXERCISE_SESSION_TYPE_SKIING = 38API level 34, U Extensions 7Universal segments onlyWear OS: SKIING (61)Google Health API: SKIING
EXERCISE_TYPE_SNOWBOARDING62EXERCISE_SESSION_TYPE_SNOWBOARDING = 39API level 34, U Extensions 7Universal segments onlyHealthKit: snowboardingWear OS: SNOWBOARDING (62)Google Health API: SNOWBOARDING
EXERCISE_TYPE_SNOWSHOEING63EXERCISE_SESSION_TYPE_SNOWSHOEING = 40API level 34, U Extensions 7Universal segments onlyWear OS: SNOWSHOEING (63)Google Health API: SNOWSHOEING
EXERCISE_TYPE_SOCCER64EXERCISE_SESSION_TYPE_SOCCER = 41API level 34, U Extensions 7Universal segments onlyHealthKit: soccerWear OS: SOCCER (64)Google Health API: SOCCER
EXERCISE_TYPE_SOFTBALL65EXERCISE_SESSION_TYPE_SOFTBALL = 42API level 34, U Extensions 7Universal segments onlyHealthKit: softballWear OS: SOFTBALL (65)Google Health API: SOFTBALL
EXERCISE_TYPE_SQUASH66EXERCISE_SESSION_TYPE_SQUASH = 43API level 34, U Extensions 7Universal segments onlyHealthKit: squashWear OS: SQUASH (66)Google Health API: SQUASH
EXERCISE_TYPE_STAIR_CLIMBING68EXERCISE_SESSION_TYPE_STAIR_CLIMBING = 44API level 34, U Extensions 7STAIR_CLIMBINGHealthKit: stairClimbingWear OS: STAIR_CLIMBING (68)Side by side →
EXERCISE_TYPE_STAIR_CLIMBING_MACHINE69EXERCISE_SESSION_TYPE_STAIR_CLIMBING_MACHINE = 59API level 34, U Extensions 7STAIR_CLIMBING_MACHINEWear OS: STAIR_CLIMBING_MACHINE (69)
EXERCISE_TYPE_STRENGTH_TRAINING70EXERCISE_SESSION_TYPE_STRENGTH_TRAINING = 45API level 34, U Extensions 742 segment types (EXERCISE_SEGMENTS)Wear OS: STRENGTH_TRAINING (70)Google Health API: STRENGTH_TRAINING
EXERCISE_TYPE_STRETCHING71EXERCISE_SESSION_TYPE_STRETCHING = 46API level 34, U Extensions 7Universal segments onlyWear OS: STRETCHING (71)Google Health API: STRETCHING
EXERCISE_TYPE_SURFING72EXERCISE_SESSION_TYPE_SURFING = 47API level 34, U Extensions 7Universal segments onlyWear OS: SURFING (72)Google Health API: SURFING
EXERCISE_TYPE_SWIMMING_OPEN_WATER73EXERCISE_SESSION_TYPE_SWIMMING_OPEN_WATER = 48API level 34, U Extensions 7SWIMMING_OPEN_WATER, SWIMMING_BACKSTROKE, SWIMMING_BREASTSTROKE, SWIMMING_FREESTYLE, SWIMMING_BUTTERFLY, SWIMMING_MIXED, SWIMMING_OTHERWear OS: SWIMMING_OPEN_WATER (73)Google Health API: SWIMMING_OPEN_WATER
EXERCISE_TYPE_SWIMMING_POOL74EXERCISE_SESSION_TYPE_SWIMMING_POOL = 49API level 34, U Extensions 7SWIMMING_POOL, SWIMMING_BACKSTROKE, SWIMMING_BREASTSTROKE, SWIMMING_FREESTYLE, SWIMMING_BUTTERFLY, SWIMMING_MIXED, SWIMMING_OTHERWear OS: SWIMMING_POOL (74)Google Health API: SWIMMING_POOL
EXERCISE_TYPE_TABLE_TENNIS75EXERCISE_SESSION_TYPE_TABLE_TENNIS = 50API level 34, U Extensions 7Universal segments onlyHealthKit: tableTennisWear OS: TABLE_TENNIS (75)Google Health API: TABLE_TENNIS
EXERCISE_TYPE_TENNIS76EXERCISE_SESSION_TYPE_TENNIS = 51API level 34, U Extensions 7Universal segments onlyHealthKit: tennisWear OS: TENNIS (76)Google Health API: TENNIS
EXERCISE_TYPE_VOLLEYBALL78EXERCISE_SESSION_TYPE_VOLLEYBALL = 52API level 34, U Extensions 7Universal segments onlyHealthKit: volleyballWear OS: VOLLEYBALL (78)Google Health API: VOLLEYBALL
EXERCISE_TYPE_WALKING79EXERCISE_SESSION_TYPE_WALKING = 53API level 34, U Extensions 7WALKINGHealthKit: walkingWear OS: WALKING (79)Google Health API: WALKINGSide by side →
EXERCISE_TYPE_WATER_POLO80EXERCISE_SESSION_TYPE_WATER_POLO = 54API level 34, U Extensions 7Universal segments onlyHealthKit: waterPoloWear OS: WATER_POLO (80)Google Health API: WATER_POLO
EXERCISE_TYPE_WEIGHTLIFTING81EXERCISE_SESSION_TYPE_WEIGHTLIFTING = 55API level 34, U Extensions 742 segment types (EXERCISE_SEGMENTS)Wear OS: WEIGHTLIFTING (81)Google Health API: WEIGHTLIFTING
EXERCISE_TYPE_WHEELCHAIR82EXERCISE_SESSION_TYPE_WHEELCHAIR = 56API level 34, U Extensions 7WHEELCHAIRGoogle Health API: WHEELCHAIR
EXERCISE_TYPE_YOGA83EXERCISE_SESSION_TYPE_YOGA = 57API level 34, U Extensions 7YOGAHealthKit: yogaWear OS: YOGA (83)Google Health API: YOGASide by side →

Two numberings for one list

The values above are the Jetpack library’s ExerciseSessionRecord constants. The platform API that ships in Android (android.health.connect.datatypes.ExerciseSessionType) defines its own constants with different integers: 61 of the 61 pairs differ; EXERCISE_TYPE_RUNNING is 56 in the library and EXERCISE_SESSION_TYPE_RUNNING is 33 on the platform. The library converts between the two in IntDefMappings.kt, whose rows pair the constants in the table above, for example:

ExerciseSessionRecord.EXERCISE_TYPE_RUNNING to PlatformExerciseSessionType.EXERCISE_SESSION_TYPE_RUNNING

Which segment types each session type accepts

Google’s reference documents ExerciseSegment.isSegmentTypeCompatibleWithSessionType() (added in 1.2.0-alpha06) as “Is a segment type compatible with a session type.”. The table it reads is in the library source: every session accepts the 5 universal segment types (OTHER_WORKOUT, PAUSE, REST, STRETCHING and UNKNOWN), EXERCISE_TYPE_BOOT_CAMP, EXERCISE_TYPE_HIGH_INTENSITY_INTERVAL_TRAINING and EXERCISE_TYPE_OTHER_WORKOUT accept every segment type, and the session types the table names accept their own list on top. The Segments column above shows each one.

EXERCISE_SEGMENTS, used by EXERCISE_TYPE_CALISTHENICS, EXERCISE_TYPE_GYMNASTICS, EXERCISE_TYPE_STRENGTH_TRAINING and EXERCISE_TYPE_WEIGHTLIFTING: ARM_CURL, BACK_EXTENSION, BALL_SLAM, BARBELL_SHOULDER_PRESS, BENCH_PRESS, BENCH_SIT_UP, BURPEE, CRUNCH, DEADLIFT, DOUBLE_ARM_TRICEPS_EXTENSION, DUMBBELL_CURL_LEFT_ARM, DUMBBELL_CURL_RIGHT_ARM, DUMBBELL_FRONT_RAISE, DUMBBELL_LATERAL_RAISE, DUMBBELL_ROW, DUMBBELL_TRICEPS_EXTENSION_LEFT_ARM, DUMBBELL_TRICEPS_EXTENSION_RIGHT_ARM, DUMBBELL_TRICEPS_EXTENSION_TWO_ARM, FORWARD_TWIST, FRONT_RAISE, HIP_THRUST, HULA_HOOP, JUMP_ROPE, JUMPING_JACK, KETTLEBELL_SWING, LATERAL_RAISE, LAT_PULL_DOWN, LEG_CURL, LEG_EXTENSION, LEG_PRESS, LEG_RAISE, LUNGE, MOUNTAIN_CLIMBER, PLANK, PULL_UP, PUNCH, SHOULDER_PRESS, SINGLE_ARM_TRICEPS_EXTENSION, SIT_UP, SQUAT, UPPER_TWIST and WEIGHTLIFTING.

In the source, the ExerciseSessionRecord constructor runs require( isSegmentTypeCompatibleWithSessionType(segment.segmentType, exerciseType) ) { "segmentType and sessionType is not compatible." } in the branch that does not hand the record to the platform API (init { if ( Build.VERSION.SDK_INT >= Build.VERSION_CODES.UPSIDE_DOWN_CAKE && isAtLeastSdkExtension21() ) { @Suppress("CheckReturnValue") this.toPlatformRecord() } else {).

All 68 ExerciseSegment types
  • EXERCISE_SEGMENT_TYPE_ARM_CURL = 1 · Use this type for arm curls.
  • EXERCISE_SEGMENT_TYPE_BACK_EXTENSION = 2 · Use this type for back extensions.
  • EXERCISE_SEGMENT_TYPE_BALL_SLAM = 3 · Use this type for ball slams.
  • EXERCISE_SEGMENT_TYPE_BARBELL_SHOULDER_PRESS = 4 · Use this type for barbel shoulder press.
  • EXERCISE_SEGMENT_TYPE_BENCH_PRESS = 5 · Use this type for bench presses.
  • EXERCISE_SEGMENT_TYPE_BENCH_SIT_UP = 6 · Use this type for bench sit up.
  • EXERCISE_SEGMENT_TYPE_BIKING = 7 · Use this type for biking.
  • EXERCISE_SEGMENT_TYPE_BIKING_STATIONARY = 8 · Use this type for stationary biking.
  • EXERCISE_SEGMENT_TYPE_BURPEE = 9 · Use this type for burpees.
  • EXERCISE_SEGMENT_TYPE_CRUNCH = 10 · Use this type for crunches.
  • EXERCISE_SEGMENT_TYPE_DEADLIFT = 11 · Use this type for deadlifts.
  • EXERCISE_SEGMENT_TYPE_DOUBLE_ARM_TRICEPS_EXTENSION = 12 · Use this type for double arms triceps extensions.
  • EXERCISE_SEGMENT_TYPE_DUMBBELL_CURL_LEFT_ARM = 13 · Use this type for left arm dumbbell curl.
  • EXERCISE_SEGMENT_TYPE_DUMBBELL_CURL_RIGHT_ARM = 14
  • EXERCISE_SEGMENT_TYPE_DUMBBELL_FRONT_RAISE = 15 · Use this type for right arm dumbbell curl.(reads like the constant before it)
  • EXERCISE_SEGMENT_TYPE_DUMBBELL_LATERAL_RAISE = 16 · Use this type for dumbbell lateral raises.
  • EXERCISE_SEGMENT_TYPE_DUMBBELL_ROW = 17 · Use this type for dumbbells rows.
  • EXERCISE_SEGMENT_TYPE_DUMBBELL_TRICEPS_EXTENSION_LEFT_ARM = 18 · Use this type for left arm triceps extensions.
  • EXERCISE_SEGMENT_TYPE_DUMBBELL_TRICEPS_EXTENSION_RIGHT_ARM = 19 · Use this type for right arm triceps extensions.
  • EXERCISE_SEGMENT_TYPE_DUMBBELL_TRICEPS_EXTENSION_TWO_ARM = 20 · Use this type for two arms triceps extensions.
  • EXERCISE_SEGMENT_TYPE_ELLIPTICAL = 21 · Use this type for elliptical workout.
  • EXERCISE_SEGMENT_TYPE_FORWARD_TWIST = 22 · Use this type for forward twists.
  • EXERCISE_SEGMENT_TYPE_FRONT_RAISE = 23 · Use this type for front raises.
  • EXERCISE_SEGMENT_TYPE_HIGH_INTENSITY_INTERVAL_TRAINING = 24 · Use this type for high intensity training.
  • EXERCISE_SEGMENT_TYPE_HIP_THRUST = 25 · Use this type for hip thrusts.
  • EXERCISE_SEGMENT_TYPE_HULA_HOOP = 26 · Use this type for hula-hoops.
  • EXERCISE_SEGMENT_TYPE_JUMPING_JACK = 27 · Use this type for jumping jacks.
  • EXERCISE_SEGMENT_TYPE_JUMP_ROPE = 28 · Use this type for jump rope.
  • EXERCISE_SEGMENT_TYPE_KETTLEBELL_SWING = 29 · Use this type for kettlebell swings.
  • EXERCISE_SEGMENT_TYPE_LATERAL_RAISE = 30 · Use this type for lateral raises.
  • EXERCISE_SEGMENT_TYPE_LAT_PULL_DOWN = 31 · Use this type for lat pull-downs.
  • EXERCISE_SEGMENT_TYPE_LEG_CURL = 32 · Use this type for leg curls.
  • EXERCISE_SEGMENT_TYPE_LEG_EXTENSION = 33 · Use this type for leg extensions.
  • EXERCISE_SEGMENT_TYPE_LEG_PRESS = 34 · Use this type for leg presses.
  • EXERCISE_SEGMENT_TYPE_LEG_RAISE = 35 · Use this type for leg raises.
  • EXERCISE_SEGMENT_TYPE_LUNGE = 36 · Use this type for lunges.
  • EXERCISE_SEGMENT_TYPE_MOUNTAIN_CLIMBER = 37 · Use this type for mountain climber.
  • EXERCISE_SEGMENT_TYPE_OTHER_WORKOUT = 38 · Use this type for other workout.
  • EXERCISE_SEGMENT_TYPE_PAUSE = 39 · Use this type for the pause.
  • EXERCISE_SEGMENT_TYPE_PILATES = 40 · Use this type for pilates.
  • EXERCISE_SEGMENT_TYPE_PLANK = 41 · Use this type for plank.
  • EXERCISE_SEGMENT_TYPE_PULL_UP = 42 · Use this type for pull-ups.
  • EXERCISE_SEGMENT_TYPE_PUNCH = 43 · Use this type for punches.
  • EXERCISE_SEGMENT_TYPE_REST = 44 · Use this type for the rest.
  • EXERCISE_SEGMENT_TYPE_ROWING_MACHINE = 45 · Use this type for rowing machine workout.
  • EXERCISE_SEGMENT_TYPE_RUNNING = 46 · Use this type for running.
  • EXERCISE_SEGMENT_TYPE_RUNNING_TREADMILL = 47 · Use this type for treadmill running.
  • EXERCISE_SEGMENT_TYPE_SHOULDER_PRESS = 48
  • EXERCISE_SEGMENT_TYPE_SINGLE_ARM_TRICEPS_EXTENSION = 49 · Use this type for shoulder press.(reads like the constant before it)
  • EXERCISE_SEGMENT_TYPE_SIT_UP = 50 · Use this type for sit-ups.
  • EXERCISE_SEGMENT_TYPE_SQUAT = 51 · Use this type for squats.
  • EXERCISE_SEGMENT_TYPE_STAIR_CLIMBING = 52 · Use this type for stair climbing.
  • EXERCISE_SEGMENT_TYPE_STAIR_CLIMBING_MACHINE = 53 · Use this type for stair climbing machine.
  • EXERCISE_SEGMENT_TYPE_STRETCHING = 54 · Use this type for stretching.
  • EXERCISE_SEGMENT_TYPE_SWIMMING_BACKSTROKE = 55 · Use this type for backstroke swimming.
  • EXERCISE_SEGMENT_TYPE_SWIMMING_BREASTSTROKE = 56 · Use this type for breaststroke swimming.
  • EXERCISE_SEGMENT_TYPE_SWIMMING_BUTTERFLY = 57 · Use this type for butterfly swimming.
  • EXERCISE_SEGMENT_TYPE_SWIMMING_FREESTYLE = 58
  • EXERCISE_SEGMENT_TYPE_SWIMMING_MIXED = 59 · Use this type for mixed swimming.
  • EXERCISE_SEGMENT_TYPE_SWIMMING_OPEN_WATER = 60 · Use this type for swimming in open water.
  • EXERCISE_SEGMENT_TYPE_SWIMMING_OTHER = 61 · Use this type if other swimming styles are not suitable.
  • EXERCISE_SEGMENT_TYPE_SWIMMING_POOL = 62 · Use this type for swimming in the pool.
  • EXERCISE_SEGMENT_TYPE_UNKNOWN = 0 · Use this type if the type of the exercise segment is not known.
  • EXERCISE_SEGMENT_TYPE_UPPER_TWIST = 63 · Use this type for upper twists.
  • EXERCISE_SEGMENT_TYPE_WALKING = 64 · Use this type for walking.
  • EXERCISE_SEGMENT_TYPE_WEIGHTLIFTING = 65 · Use this type for weightlifting.
  • EXERCISE_SEGMENT_TYPE_WHEELCHAIR = 66 · Use this type for wheelchair.
  • EXERCISE_SEGMENT_TYPE_YOGA = 67 · Use this type for yoga.

No same-name counterpart (1)

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.

EXERCISE_TYPE_OTHER_WORKOUT

The catch-all: ExerciseSessionRecord.EXERCISE_TYPE_OTHER_WORKOUT

  • “Can be used to represent any generic workout that does not fall into a specific category. Any unknown new value definition will also fall automatically into EXERCISE_TYPE_OTHER_WORKOUT. Next Id: 84.” (ExerciseSessionRecord (Jetpack reference))
  • “internal fun Int.toSdkExerciseSessionType(): Int { return PLATFORM_TO_SDK_EXERCISE_SESSION_TYPE[this] ?: ExerciseSessionRecord.EXERCISE_TYPE_OTHER_WORKOUT }” (IntDefMappings.kt (androidx source))

Where the sources disagree (6)

  • Listed by a guide, not by the referenceEXERCISE_TYPE_UNKNOWNGoogle's Health Connect data-types guide (last updated 2026-09-23) lists EXERCISE_TYPE_UNKNOWN under "Exercise types" in its ExerciseSessionRecord row, one of 62 names there; the Jetpack ExerciseSessionRecord reference does not define it, and neither does the androidx source.
  • A description that reads like another constant'sEXERCISE_SEGMENT_TYPE_DUMBBELL_FRONT_RAISEGoogle's ExerciseSegment reference describes EXERCISE_SEGMENT_TYPE_DUMBBELL_FRONT_RAISE (15) as "Use this type for right arm dumbbell curl.", the words of the constant before it, EXERCISE_SEGMENT_TYPE_DUMBBELL_CURL_RIGHT_ARM (14), which it gives no description; the androidx source has the same comment above EXERCISE_SEGMENT_TYPE_DUMBBELL_FRONT_RAISE.
  • A description that reads like another constant'sEXERCISE_SEGMENT_TYPE_SINGLE_ARM_TRICEPS_EXTENSIONGoogle's ExerciseSegment reference describes EXERCISE_SEGMENT_TYPE_SINGLE_ARM_TRICEPS_EXTENSION (49) as "Use this type for shoulder press.", the words of the constant before it, EXERCISE_SEGMENT_TYPE_SHOULDER_PRESS (48), which it gives no description; the androidx source has the same comment above EXERCISE_SEGMENT_TYPE_SINGLE_ARM_TRICEPS_EXTENSION.
  • Deprecated on one API, not the otherEXERCISE_TYPE_GUIDED_BREATHINGThe platform API deprecates EXERCISE_SESSION_TYPE_GUIDED_BREATHING in API level 37; the Jetpack reference does not mark EXERCISE_TYPE_GUIDED_BREATHING, which the library converts to it, deprecated.
  • Platform constant with no Jetpack counterpartEXERCISE_SESSION_TYPE_UNKNOWNThe platform ExerciseSessionType reference lists EXERCISE_SESSION_TYPE_UNKNOWN = 0; no Jetpack constant maps to it in IntDefMappings.kt, and the library's toSdkExerciseSessionType() turns an unmapped platform value into EXERCISE_TYPE_OTHER_WORKOUT.
  • Guide sample names a member the reference lacksExerciseSessionRecord.ExerciseType.RUNNING2 Health Connect guides' samples write exerciseType = ExerciseSessionRecord.ExerciseType.RUNNING; the ExerciseSessionRecord reference lists no ExerciseType member, and its constant is EXERCISE_TYPE_RUNNING = 56.

Side by side, one activity at a time

More on Android Health Connect on this site

Questions

Is EXERCISE_TYPE_UNKNOWN a Health Connect exercise type?

Google's Health Connect data-types guide lists it, but the Jetpack ExerciseSessionRecord reference does not define it. The platform API does have EXERCISE_SESSION_TYPE_UNKNOWN (0), and the library turns a platform value it has no constant for into EXERCISE_TYPE_OTHER_WORKOUT. In Jetpack code the catch-all is EXERCISE_TYPE_OTHER_WORKOUT (0).

Which Health Connect exercise types accept any segment type?

EXERCISE_TYPE_BOOT_CAMP, EXERCISE_TYPE_HIGH_INTENSITY_INTERVAL_TRAINING and EXERCISE_TYPE_OTHER_WORKOUT. The library's segment table lists them in UNIVERSAL_SESSION_TYPES, and isSegmentTypeCompatibleWithSessionType returns true for any segment in a session of those types. Every other session type accepts the 5 universal segment types plus the ones the table names for it.

What happens to an exercise type Health Connect does not recognise?

Google's reference for EXERCISE_TYPE_OTHER_WORKOUT says: “Can be used to represent any generic workout that does not fall into a specific category. Any unknown new value definition will also fall automatically into EXERCISE_TYPE_OTHER_WORKOUT. Next Id: 84.” When the library converts a platform record, it also maps any platform value it has no constant for to EXERCISE_TYPE_OTHER_WORKOUT (toSdkExerciseSessionType in IntDefMappings.kt).

Sources (6)