com.samsung.android.service.health.tracking.data

Enum HealthTrackerType

  • All Implemented Interfaces:
    Serializable, Comparable<HealthTrackerType>


    public enum HealthTrackerType
    extends Enum<HealthTrackerType>
    This defines enum values for sensor data measurement types, including on-demand and continuous tracking modes.

    Using On-Demand Health Trackers

    Follow these guidelines when using the on-demand tracker type:

    • Use on-demand trackers in a foreground application, not in the background.
    • Do not use more than one on-demand tracker at the same time.
    • The on-demand tracker type is not intended for continuous measurement.
    • Track on-demand type sensors for no longer than 30 seconds.
    • During the on-demand tracker type data measurement, tracking a continuous tracker type can give invalid values.

    Since:
    1.0.0
    See Also:
    HealthTrackerCapability.getSupportHealthTrackerTypes()
    • Enum Constant Detail

      • PPG_GREEN

        @Deprecated
        public static final HealthTrackerType PPG_GREEN
        Deprecated. It was deprecated. Use PPG_CONTINUOUS instead.
        Enum value representing continuous tracking of Photoplethysmogram (PPG) Green data.
        This data is measured at a frequency of 25 Hz.
        Permission:
        [For targeting Android 16 (API level 36) or higher]
            "com.samsung.android.hardware.sensormanager.permission.READ_ADDITIONAL_HEALTH_DATA" is required.
        [For targeting Android 15 (API level 35) or lower]
             Manifest.permission.BODY_SENSORS is required.
             // If your app runs on Android 16 or higher
             if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.BAKLAVA) {
                 permissionList.add("com.samsung.android.hardware.sensormanager.permission.READ_ADDITIONAL_HEALTH_DATA")
             } else {
                 permissionList.add(Manifest.permission.BODY_SENSORS)
             }
        Since:
        1.0.0
        See Also:
        HealthTrackingService.getHealthTracker(HealthTrackerType)
        ValueKey.PpgGreenSet
      • PPG_CONTINUOUS

        public static final HealthTrackerType PPG_CONTINUOUS
        Enum value representing continuous tracking of Photoplethysmogram (PPG) Green, IR, Red data.
        This data is measured at a frequency of 25 Hz.
        Permission:
        [For targeting Android 16 (API level 36) or higher]
            "com.samsung.android.hardware.sensormanager.permission.READ_ADDITIONAL_HEALTH_DATA" is required.
        [For targeting Android 15 (API level 35) or lower]
             Manifest.permission.BODY_SENSORS is required.
             // If your app runs on Android 16 or higher
             if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.BAKLAVA) {
                 permissionList.add("com.samsung.android.hardware.sensormanager.permission.READ_ADDITIONAL_HEALTH_DATA")
             } else {
                 permissionList.add(Manifest.permission.BODY_SENSORS)
             }
        Since:
        1.3.0
        See Also:
        HealthTrackingService.getHealthTracker(HealthTrackerType, PpgType)
        ValueKey.PpgSet
      • PPG_RED

        @Deprecated
        public static final HealthTrackerType PPG_RED
        Deprecated. It was deprecated. Use PPG_ON_DEMAND instead.
        Enum value representing on-demand tracking of Photoplethysmogram (PPG) Red data.
        This data is measured at a frequency of 100 Hz.
        Permission:
        [For targeting Android 16 (API level 36) or higher]
            "com.samsung.android.hardware.sensormanager.permission.READ_ADDITIONAL_HEALTH_DATA" is required.
        [For targeting Android 15 (API level 35) or lower]
             Manifest.permission.BODY_SENSORS is required.
             // If your app runs on Android 16 or higher
             if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.BAKLAVA) {
                 permissionList.add("com.samsung.android.hardware.sensormanager.permission.READ_ADDITIONAL_HEALTH_DATA")
             } else {
                 permissionList.add(Manifest.permission.BODY_SENSORS)
             }
        Since:
        1.0.0
        See Also:
        HealthTrackingService.getHealthTracker(HealthTrackerType)
        ValueKey.PpgRedSet
        Remark:
        The on-demand tracker type is not intended for continuous measurement. Please track the on-demand type sensor for no longer than 30 seconds.
        See more information in Using On-demand Tracker Type.
      • PPG_IR

        @Deprecated
        public static final HealthTrackerType PPG_IR
        Deprecated. It was deprecated. Use PPG_ON_DEMAND instead.
        Enum value representing on-demand tracking of Photoplethysmogram (PPG) Infrared (IR) data.
        This data is measured at a frequency of 100 Hz.
        Permission:
        [For targeting Android 16 (API level 36) or higher]
            "com.samsung.android.hardware.sensormanager.permission.READ_ADDITIONAL_HEALTH_DATA" is required.
        [For targeting Android 15 (API level 35) or lower]
             Manifest.permission.BODY_SENSORS is required.
             // If your app runs on Android 16 or higher
             if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.BAKLAVA) {
                 permissionList.add("com.samsung.android.hardware.sensormanager.permission.READ_ADDITIONAL_HEALTH_DATA")
             } else {
                 permissionList.add(Manifest.permission.BODY_SENSORS)
             }
        Since:
        1.0.0
        See Also:
        HealthTrackingService.getHealthTracker(HealthTrackerType)
        ValueKey.PpgIrSet
        Remark:
        The on-demand tracker type is not intended for continuous measurement. Please track the on-demand type sensor for no longer than 30 seconds.
        See more information in Using On-demand Tracker Type.
      • PPG_ON_DEMAND

        public static final HealthTrackerType PPG_ON_DEMAND
        Enum value representing on-demand tracking of Photoplethysmogram (PPG) data.
        This data is measured at a frequency of 100 Hz.
        Permission:
        [For targeting Android 16 (API level 36) or higher]
            "com.samsung.android.hardware.sensormanager.permission.READ_ADDITIONAL_HEALTH_DATA" is required.
        [For targeting Android 15 (API level 35) or lower]
             Manifest.permission.BODY_SENSORS is required.
             // If your app runs on Android 16 or higher
             if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.BAKLAVA) {
                 permissionList.add("com.samsung.android.hardware.sensormanager.permission.READ_ADDITIONAL_HEALTH_DATA")
             } else {
                 permissionList.add(Manifest.permission.BODY_SENSORS)
             }
        Since:
        1.3.0
        See Also:
        HealthTrackingService.getHealthTracker(HealthTrackerType, PpgTypeSet)
        ValueKey.PpgSet, Using On-demand Tracker Type.
        Remark:
        The on-demand tracker type is not intended for continuous measurement. Please track the on-demand type sensor for no longer than 30 seconds.
        See more information in Using On-demand Tracker Type.
      • HEART_RATE_CONTINUOUS

        public static final HealthTrackerType HEART_RATE_CONTINUOUS
        Enum value representing continuous tracking of heart rate data including Inter-beat Interval (IBI).
        This data is measured at a frequency of 1 Hz. If a Galaxy Watch's display is on, the data is retrieved every 1 second.
        Permission:
        [For targeting Android 16 (API level 36) or higher]
             HealthPermissions.READ_HEART_RATE is required.
        [For targeting Android 15 (API level 35) or lower]
             Manifest.permission.BODY_SENSORS is required.
             // If your app runs on Android 16 or higher
             if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.BAKLAVA) {
                 permissionList.add(HealthPermissions.READ_HEART_RATE)
             } else {
                 permissionList.add(Manifest.permission.BODY_SENSORS)
             }
        Since:
        1.3.0
        See Also:
        HealthTrackingService.getHealthTracker(HealthTrackerType)
        ValueKey.HeartRateSet
      • ECG

        @Deprecated
        public static final HealthTrackerType ECG
        Deprecated. It was deprecated. Use ECG_ON_DEMAND instead.
        Enum value representing on-demand tracking of Electrocardiogram (ECG) data.
        This data is measured at a frequency of 500 Hz.
        Permission:
        [For targeting Android 16 (API level 36) or higher]
            "com.samsung.android.hardware.sensormanager.permission.READ_ADDITIONAL_HEALTH_DATA" is required.
        [For targeting Android 15 (API level 35) or lower]
             Manifest.permission.BODY_SENSORS is required.
             // If your app runs on Android 16 or higher
             if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.BAKLAVA) {
                 permissionList.add("com.samsung.android.hardware.sensormanager.permission.READ_ADDITIONAL_HEALTH_DATA")
             } else {
                 permissionList.add(Manifest.permission.BODY_SENSORS)
             }
        Since:
        1.0.0
        See Also:
        HealthTrackingService.getHealthTracker(HealthTrackerType)
        ValueKey.EcgSet
        Remark:
        The on-demand tracker type is not intended for continuous measurement. Please track the on-demand type sensor for no longer than 30 seconds.
        See more information in Using On-demand Tracker Type.
      • ECG_ON_DEMAND

        public static final HealthTrackerType ECG_ON_DEMAND
        Enum value representing on-demand tracking of Electrocardiogram (ECG) data.
        This data is measured at a frequency of 500 Hz.
        Permission:
        [For targeting Android 16 (API level 36) or higher]
            "com.samsung.android.hardware.sensormanager.permission.READ_ADDITIONAL_HEALTH_DATA" is required.
        [For targeting Android 15 (API level 35) or lower]
             Manifest.permission.BODY_SENSORS is required.
             // If your app runs on Android 16 or higher
             if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.BAKLAVA) {
                 permissionList.add("com.samsung.android.hardware.sensormanager.permission.READ_ADDITIONAL_HEALTH_DATA")
             } else {
                 permissionList.add(Manifest.permission.BODY_SENSORS)
             }
        Since:
        1.3.0
        See Also:
        HealthTrackingService.getHealthTracker(HealthTrackerType)
        ValueKey.EcgSet
        Remark:
        The on-demand tracker type is not intended for continuous measurement. Please track the on-demand type sensor for no longer than 30 seconds.
        See more information in Using On-demand Tracker Type.
      • BIA

        @Deprecated
        public static final HealthTrackerType BIA
        Deprecated. It was deprecated. Use BIA_ON_DEMAND instead.
        Enum value representing on-demand tracking of body composition data.
        It provides 1 data point for each measurement.

        BIA Measurement Guide

        • Make sure your Galaxy Watch is on tightly.
        • Raise your arm so your armpits are open.
        • Place your middle finger on the 2 o'clock key and your ring finger on the 4 o'clock key on Galaxy Watch.
        • Touch your Galaxy Watch only.
          Don't let the hand on the Galaxy Watch's keys touch your other hand on the watch.
        • Keep touching keys until the measurement is completed.

        See the SDK guide for more information.
        Permission:
        [For targeting Android 16 (API level 36) or higher]
            "com.samsung.android.hardware.sensormanager.permission.READ_ADDITIONAL_HEALTH_DATA" is required.
        [For targeting Android 15 (API level 35) or lower]
             Manifest.permission.BODY_SENSORS is required.
             // If your app runs on Android 16 or higher
             if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.BAKLAVA) {
                 permissionList.add("com.samsung.android.hardware.sensormanager.permission.READ_ADDITIONAL_HEALTH_DATA")
             } else {
                 permissionList.add(Manifest.permission.BODY_SENSORS)
             }
        Since:
        1.0.0
        See Also:
        HealthTrackingService.getHealthTracker(HealthTrackerType, TrackerUserProfile)
        ValueKey.BiaSet
        Remark:
        See Using On-demand Tracker Type.
      • BIA_ON_DEMAND

        public static final HealthTrackerType BIA_ON_DEMAND
        Enum value representing on-demand tracking of body composition data.
        It provides 1 data point for each measurement.

        BIA Measurement Guide

        • Make sure your Galaxy Watch is on tightly.
        • Raise your arm so your armpits are open.
        • Place your middle finger on the 2 o'clock key and your ring finger on the 4 o'clock key on Galaxy Watch.
        • Touch your Galaxy Watch only.
          Don't let the hand on the Galaxy Watch's keys touch your other hand on the watch.
        • Keep touching keys until the measurement is completed.

        See the SDK guide for more information.
        Permission:
        [For targeting Android 16 (API level 36) or higher]
            "com.samsung.android.hardware.sensormanager.permission.READ_ADDITIONAL_HEALTH_DATA" is required.
        [For targeting Android 15 (API level 35) or lower]
             Manifest.permission.BODY_SENSORS is required.
             // If your app runs on Android 16 or higher
             if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.BAKLAVA) {
                 permissionList.add("com.samsung.android.hardware.sensormanager.permission.READ_ADDITIONAL_HEALTH_DATA")
             } else {
                 permissionList.add(Manifest.permission.BODY_SENSORS)
             }
        Since:
        1.3.0
        See Also:
        HealthTrackingService.getHealthTracker(HealthTrackerType, TrackerUserProfile)
        ValueKey.BiaSet
        Remark:
        See Using On-demand Tracker Type.
      • SPO2_ON_DEMAND

        public static final HealthTrackerType SPO2_ON_DEMAND
        Enum value representing on-demand tracking of oxygen saturation (SpO2) data.
        It provides 1 data point for each measurement.

        SpO2 Measurement Guide

        • Make sure your Galaxy Watch is on tightly.
        • Move your Galaxy Watch higher on your wrist.
        • Place your elbow on a table.
        • Hold your wrist near your heart.
        • Be careful not to move during the measurement.

        See the SDK guide for more information.
        Permission:
        [For targeting Android 16 (API level 36) or higher]
             HealthPermissions.READ_OXYGEN_SATURATION is required.
        [For targeting Android 15 (API level 35) or lower]
             Manifest.permission.BODY_SENSORS is required.
             // If your app runs on Android 16 or higher
             if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.BAKLAVA) {
                 permissionList.add(HealthPermissions.READ_OXYGEN_SATURATION)
             } else {
                 permissionList.add(Manifest.permission.BODY_SENSORS)
             }
        Since:
        1.3.0
        See Also:
        HealthTrackingService.getHealthTracker(HealthTrackerType)
        ValueKey.SpO2Set
        Remark:
        The on-demand tracker type is not intended for continuous measurement. Please track the on-demand type sensor for no longer than 30 seconds.
        See more information in Using On-demand Tracker Type.
      • EDA_CONTINUOUS

        public static final HealthTrackerType EDA_CONTINUOUS
        Enum value representing continuous tracking of Electrodermal activity data.
        This data is measured at a frequency of 1 Hz. If a Galaxy Watch's display is on, the data is retrieved every 1 second.
        Permission:
        "com.samsung.android.hardware.sensormanager.permission.READ_ADDITIONAL_HEALTH_DATA" is required.
        Since:
        1.4.0
        See Also:
        HealthTrackingService.getHealthTracker(HealthTrackerType)
        ValueKey.EdaSet
    • Method Detail

      • values

        public static HealthTrackerType[] values()
        Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:
        for (HealthTrackerType c : HealthTrackerType.values())
            System.out.println(c);
        
        Returns:
        an array containing the constants of this enum type, in the order they are declared
      • valueOf

        public static HealthTrackerType valueOf(String name)
        Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
        Parameters:
        name - the name of the enum constant to be returned.
        Returns:
        the enum constant with the specified name
        Throws:
        IllegalArgumentException - if this enum type has no constant with the specified name
        NullPointerException - if the argument is null