public final class BodySensorLocation

  1. Object
  2. BodySensorLocation

The values of the Body Sensor Location characteristic, 0x2A38, as reported by SensorSession.getBodySensorLocation().

Worth surfacing: a wrist-worn optical sensor and a chest strap have materially different accuracy during hard efforts, and telling the user which one is feeding a reading is more honest than presenting both as equivalent.

Fields

public static final int OTHER = 0Somewhere the profile does not name.
public static final int CHEST = 1Chest – a strap; the most accurate of these placements.
public static final int WRIST = 2Wrist – an optical sensor in a watch or band.
public static final int FINGER = 3Finger.
public static final int HAND = 4Hand.
public static final int EAR_LOBE = 5Earlobe.
public static final int FOOT = 6Foot.

Methods

public static boolean isDefined(int location)Whether location is one of the placements this profile defines.
public static String describe(int location)A human-readable name for a location constant.

Inherited methods

Field details

OTHER

public static final int OTHER = 0
Somewhere the profile does not name.

CHEST

public static final int CHEST = 1
Chest – a strap; the most accurate of these placements.

WRIST

public static final int WRIST = 2
Wrist – an optical sensor in a watch or band.

FINGER

public static final int FINGER = 3
Finger.

HAND

public static final int HAND = 4
Hand.

EAR_LOBE

public static final int EAR_LOBE = 5
Earlobe.

Method details

isDefined

public static boolean isDefined(int location)

Whether location is one of the placements this profile defines.

Everything from 7 up is reserved, and a peripheral that answers with one is not describing a placement at all. Passed through, it reached the app as a real location that describe(int) could only call “Unknown” – which reads as a sensor worn somewhere unnamed rather than as no answer.

describe

public static String describe(int location)
A human-readable name for a location constant.