Android APIs
public final class

Sensor

extends Object
java.lang.Object
   ↳ android.hardware.Sensor

Class Overview

Class representing a sensor. Use getSensorList(int) to get the list of available Sensors.

Summary

Constants
String STRING_TYPE_ACCELEROMETER A constant string describing an accelerometer sensor type.
String STRING_TYPE_AMBIENT_TEMPERATURE A constant string describing an ambient temperature sensor type.
String STRING_TYPE_GAME_ROTATION_VECTOR A constant string describing an uncalibrated rotation vector sensor type.
String STRING_TYPE_GEOMAGNETIC_ROTATION_VECTOR A constant string describing a geo-magnetic rotation vector.
String STRING_TYPE_GRAVITY A constant string describing a gravity sensor type.
String STRING_TYPE_GYROSCOPE A constant string describing a gyroscope sensor type.
String STRING_TYPE_GYROSCOPE_UNCALIBRATED A constant string describing an uncalibrated gyroscope sensor type.
String STRING_TYPE_HEART_RATE A constant string describing a heart rate monitor.
String STRING_TYPE_LIGHT A constant string describing a light sensor type.
String STRING_TYPE_LINEAR_ACCELERATION A constant string describing a linear acceleration sensor type.
String STRING_TYPE_MAGNETIC_FIELD A constant string describing a magnetic field sensor type.
String STRING_TYPE_MAGNETIC_FIELD_UNCALIBRATED A constant string describing an uncalibrated magnetic field sensor type.
String STRING_TYPE_ORIENTATION This constant was deprecated in API level 20. use SensorManager.getOrientation() instead.
String STRING_TYPE_PRESSURE A constant string describing a pressure sensor type.
String STRING_TYPE_PROXIMITY A constant string describing a proximity sensor type.
String STRING_TYPE_RELATIVE_HUMIDITY A constant string describing a relative humidity sensor type
String STRING_TYPE_ROTATION_VECTOR A constant string describing a rotation vector sensor type.
String STRING_TYPE_SIGNIFICANT_MOTION A constant string describing a significant motion trigger sensor.
String STRING_TYPE_STEP_COUNTER A constant string describing a step counter sensor.
String STRING_TYPE_STEP_DETECTOR A constant string describing a step detector sensor.
String STRING_TYPE_TEMPERATURE This constant was deprecated in API level 20. use Sensor.STRING_TYPE_AMBIENT_TEMPERATURE instead.
int TYPE_ACCELEROMETER A constant describing an accelerometer sensor type.
int TYPE_ALL A constant describing all sensor types.
int TYPE_AMBIENT_TEMPERATURE A constant describing an ambient temperature sensor type.
int TYPE_GAME_ROTATION_VECTOR A constant describing an uncalibrated rotation vector sensor type.
int TYPE_GEOMAGNETIC_ROTATION_VECTOR A constant describing a geo-magnetic rotation vector.
int TYPE_GRAVITY A constant describing a gravity sensor type.
int TYPE_GYROSCOPE A constant describing a gyroscope sensor type.
int TYPE_GYROSCOPE_UNCALIBRATED A constant describing an uncalibrated gyroscope sensor type.
int TYPE_HEART_RATE A constant describing a heart rate monitor.
int TYPE_LIGHT A constant describing a light sensor type.
int TYPE_LINEAR_ACCELERATION A constant describing a linear acceleration sensor type.
int TYPE_MAGNETIC_FIELD A constant describing a magnetic field sensor type.
int TYPE_MAGNETIC_FIELD_UNCALIBRATED A constant describing an uncalibrated magnetic field sensor type.
int TYPE_ORIENTATION This constant was deprecated in API level 8. use SensorManager.getOrientation() instead.
int TYPE_PRESSURE A constant describing a pressure sensor type.
int TYPE_PROXIMITY A constant describing a proximity sensor type.
int TYPE_RELATIVE_HUMIDITY A constant describing a relative humidity sensor type.
int TYPE_ROTATION_VECTOR A constant describing a rotation vector sensor type.
int TYPE_SIGNIFICANT_MOTION A constant describing a significant motion trigger sensor.
int TYPE_STEP_COUNTER A constant describing a step counter sensor.
int TYPE_STEP_DETECTOR A constant describing a step detector sensor.
int TYPE_TEMPERATURE This constant was deprecated in API level 14. use Sensor.TYPE_AMBIENT_TEMPERATURE instead.
Public Methods
int getFifoMaxEventCount()
int getFifoReservedEventCount()
float getMaximumRange()
int getMinDelay()
String getName()
float getPower()
float getResolution()
String getStringType()
int getType()
String getVendor()
int getVersion()
String toString()
Returns a string containing a concise, human-readable description of this object.
[Expand]
Inherited Methods
From class java.lang.Object

Constants

public static final String STRING_TYPE_ACCELEROMETER

Added in API level 20

A constant string describing an accelerometer sensor type.

Constant Value: "android.sensor.accelerometer"

public static final String STRING_TYPE_AMBIENT_TEMPERATURE

Added in API level 20

A constant string describing an ambient temperature sensor type.

Constant Value: "android.sensor.ambient_temperature"

public static final String STRING_TYPE_GAME_ROTATION_VECTOR

Added in API level 20

A constant string describing an uncalibrated rotation vector sensor type.

Constant Value: "android.sensor.game_rotation_vector"

public static final String STRING_TYPE_GEOMAGNETIC_ROTATION_VECTOR

Added in API level 20

A constant string describing a geo-magnetic rotation vector.

Constant Value: "android.sensor.geomagnetic_rotation_vector"

public static final String STRING_TYPE_GRAVITY

Added in API level 20

A constant string describing a gravity sensor type.

See Also
Constant Value: "android.sensor.gravity"

public static final String STRING_TYPE_GYROSCOPE

Added in API level 20

A constant string describing a gyroscope sensor type.

See Also
Constant Value: "android.sensor.gyroscope"

public static final String STRING_TYPE_GYROSCOPE_UNCALIBRATED

Added in API level 20

A constant string describing an uncalibrated gyroscope sensor type.

Constant Value: "android.sensor.gyroscope_uncalibrated"

public static final String STRING_TYPE_HEART_RATE

Added in API level 20

A constant string describing a heart rate monitor.

See Also
Constant Value: "android.sensor.heart_rate"

public static final String STRING_TYPE_LIGHT

Added in API level 20

A constant string describing a light sensor type.

See Also
Constant Value: "android.sensor.light"

public static final String STRING_TYPE_LINEAR_ACCELERATION

Added in API level 20

A constant string describing a linear acceleration sensor type.

Constant Value: "android.sensor.linear_acceleration"

public static final String STRING_TYPE_MAGNETIC_FIELD

Added in API level 20

A constant string describing a magnetic field sensor type.

Constant Value: "android.sensor.magnetic_field"

public static final String STRING_TYPE_MAGNETIC_FIELD_UNCALIBRATED

Added in API level 20

A constant string describing an uncalibrated magnetic field sensor type.

Constant Value: "android.sensor.magnetic_field_uncalibrated"

public static final String STRING_TYPE_ORIENTATION

Added in API level 20

This constant was deprecated in API level 20.
use SensorManager.getOrientation() instead.

A constant string describing an orientation sensor type.

See Also
Constant Value: "android.sensor.orientation"

public static final String STRING_TYPE_PRESSURE

Added in API level 20

A constant string describing a pressure sensor type.

See Also
Constant Value: "android.sensor.pressure"

public static final String STRING_TYPE_PROXIMITY

Added in API level 20

A constant string describing a proximity sensor type.

See Also
Constant Value: "android.sensor.proximity"

public static final String STRING_TYPE_RELATIVE_HUMIDITY

Added in API level 20

A constant string describing a relative humidity sensor type

Constant Value: "android.sensor.relative_humidity"

public static final String STRING_TYPE_ROTATION_VECTOR

Added in API level 20

A constant string describing a rotation vector sensor type.

Constant Value: "android.sensor.rotation_vector"

public static final String STRING_TYPE_SIGNIFICANT_MOTION

Added in API level 20

A constant string describing a significant motion trigger sensor.

Constant Value: "android.sensor.significant_motion"

public static final String STRING_TYPE_STEP_COUNTER

Added in API level 20

A constant string describing a step counter sensor.

Constant Value: "android.sensor.step_counter"

public static final String STRING_TYPE_STEP_DETECTOR

Added in API level 20

A constant string describing a step detector sensor.

Constant Value: "android.sensor.step_detector"

public static final String STRING_TYPE_TEMPERATURE

Added in API level 20

This constant was deprecated in API level 20.
use Sensor.STRING_TYPE_AMBIENT_TEMPERATURE instead.

A constant string describing a temperature sensor type

See Also
Constant Value: "android.sensor.temperature"

public static final int TYPE_ACCELEROMETER

Added in API level 3

A constant describing an accelerometer sensor type.

See SensorEvent.values for more details.

Constant Value: 1 (0x00000001)

public static final int TYPE_ALL

Added in API level 3

A constant describing all sensor types.

Constant Value: -1 (0xffffffff)

public static final int TYPE_AMBIENT_TEMPERATURE

Added in API level 14

A constant describing an ambient temperature sensor type.

See SensorEvent.values for more details.

Constant Value: 13 (0x0000000d)

public static final int TYPE_GAME_ROTATION_VECTOR

Added in API level 18

A constant describing an uncalibrated rotation vector sensor type.

Identical to TYPE_ROTATION_VECTOR except that it doesn't use the geomagnetic field. Therefore the Y axis doesn't point north, but instead to some other reference, that reference is allowed to drift by the same order of magnitude as the gyroscope drift around the Z axis.

In the ideal case, a phone rotated and returning to the same real-world orientation should report the same game rotation vector (without using the earth's geomagnetic field). However, the orientation may drift somewhat over time.

See SensorEvent.values for more details.

Constant Value: 15 (0x0000000f)

public static final int TYPE_GEOMAGNETIC_ROTATION_VECTOR

Added in API level 19

A constant describing a geo-magnetic rotation vector.

Similar to TYPE_ROTATION_VECTOR, but using a magnetometer instead of using a gyroscope. This sensor uses lower power than the other rotation vectors, because it doesn't use the gyroscope. However, it is more noisy and will work best outdoors.

See SensorEvent.values for more details.

Constant Value: 20 (0x00000014)

public static final int TYPE_GRAVITY

Added in API level 9

A constant describing a gravity sensor type.

See SensorEvent.values for more details.

Constant Value: 9 (0x00000009)

public static final int TYPE_GYROSCOPE

Added in API level 3

A constant describing a gyroscope sensor type.

See SensorEvent.values for more details.

Constant Value: 4 (0x00000004)

public static final int TYPE_GYROSCOPE_UNCALIBRATED

Added in API level 18

A constant describing an uncalibrated gyroscope sensor type.

Similar to TYPE_GYROSCOPE but no gyro-drift compensation has been performed to adjust the given sensor values. However, such gyro-drift bias values are returned to you separately in the result values so you may use them for custom calibrations.

Factory calibration and temperature compensation is still applied to the rate of rotation (angular speeds).

See SensorEvent.values for more details.

Constant Value: 16 (0x00000010)

public static final int TYPE_HEART_RATE

Added in API level 20

A constant describing a heart rate monitor.

The reported value is the heart rate in beats per minute.

The reported accuracy represents the status of the monitor during the reading. See the SENSOR_STATUS_* constants in SensorManager for more details on accuracy/status values. In particular, when the accuracy is SENSOR_STATUS_UNRELIABLE or SENSOR_STATUS_NO_CONTACT, the heart rate value should be discarded.

This sensor requires permission android.permission.BODY_SENSORS. It will not be returned by SensorManager.getSensorsList nor SensorManager.getDefaultSensor if the application doesn't have this permission.

Constant Value: 21 (0x00000015)

public static final int TYPE_LIGHT

Added in API level 3

A constant describing a light sensor type.

See SensorEvent.values for more details.

Constant Value: 5 (0x00000005)

public static final int TYPE_LINEAR_ACCELERATION

Added in API level 9

A constant describing a linear acceleration sensor type.

See SensorEvent.values for more details.

Constant Value: 10 (0x0000000a)

public static final int TYPE_MAGNETIC_FIELD

Added in API level 3

A constant describing a magnetic field sensor type.

See SensorEvent.values for more details.

Constant Value: 2 (0x00000002)

public static final int TYPE_MAGNETIC_FIELD_UNCALIBRATED

Added in API level 18

A constant describing an uncalibrated magnetic field sensor type.

Similar to TYPE_MAGNETIC_FIELD but the hard iron calibration (device calibration due to distortions that arise from magnetized iron, steel or permanent magnets on the device) is not considered in the given sensor values. However, such hard iron bias values are returned to you separately in the result values so you may use them for custom calibrations.

Also, no periodic calibration is performed (i.e. there are no discontinuities in the data stream while using this sensor) and assumptions that the magnetic field is due to the Earth's poles is avoided, but factory calibration and temperature compensation have been performed.

See SensorEvent.values for more details.

Constant Value: 14 (0x0000000e)

public static final int TYPE_ORIENTATION

Added in API level 3

This constant was deprecated in API level 8.
use SensorManager.getOrientation() instead.

A constant describing an orientation sensor type.

See SensorEvent.values for more details.

Constant Value: 3 (0x00000003)

public static final int TYPE_PRESSURE

Added in API level 3

A constant describing a pressure sensor type.

See SensorEvent.values for more details.

Constant Value: 6 (0x00000006)

public static final int TYPE_PROXIMITY

Added in API level 3

A constant describing a proximity sensor type.

See SensorEvent.values for more details.

Constant Value: 8 (0x00000008)

public static final int TYPE_RELATIVE_HUMIDITY

Added in API level 14

A constant describing a relative humidity sensor type.

See SensorEvent.values for more details.

Constant Value: 12 (0x0000000c)

public static final int TYPE_ROTATION_VECTOR

Added in API level 9

A constant describing a rotation vector sensor type.

See SensorEvent.values for more details.

Constant Value: 11 (0x0000000b)

public static final int TYPE_SIGNIFICANT_MOTION

Added in API level 18

A constant describing a significant motion trigger sensor.

It triggers when an event occurs and then automatically disables itself. The sensor continues to operate while the device is asleep and will automatically wake the device to notify when significant motion is detected. The application does not need to hold any wake locks for this sensor to trigger.

See TriggerEvent for more details.

Constant Value: 17 (0x00000011)

public static final int TYPE_STEP_COUNTER

Added in API level 19

A constant describing a step counter sensor.

A sensor of this type returns the number of steps taken by the user since the last reboot while activated. The value is returned as a float (with the fractional part set to zero) and is reset to zero only on a system reboot. The timestamp of the event is set to the time when the first step for that event was taken. This sensor is implemented in hardware and is expected to be low power.

See SensorEvent.values for more details.

Constant Value: 19 (0x00000013)

public static final int TYPE_STEP_DETECTOR

Added in API level 19

A constant describing a step detector sensor.

A sensor of this type triggers an event each time a step is taken by the user. The only allowed value to return is 1.0 and an event is generated for each step. Like with any other event, the timestamp indicates when the event (here the step) occurred, this corresponds to when the foot hit the ground, generating a high variation in acceleration.

See SensorEvent.values for more details.

Constant Value: 18 (0x00000012)

public static final int TYPE_TEMPERATURE

Added in API level 3

This constant was deprecated in API level 14.
use Sensor.TYPE_AMBIENT_TEMPERATURE instead.

A constant describing a temperature sensor type

Constant Value: 7 (0x00000007)

Public Methods

public int getFifoMaxEventCount ()

Added in API level 19

Returns
  • Maximum number of events of this sensor that could be batched. If this value is zero it indicates that batch mode is not supported for this sensor. If other applications registered to batched sensors, the actual number of events that can be batched might be smaller because the hardware FiFo will be partially used to batch the other sensors.

public int getFifoReservedEventCount ()

Added in API level 19

Returns
  • Number of events reserved for this sensor in the batch mode FIFO. This gives a guarantee on the minimum number of events that can be batched.

public float getMaximumRange ()

Added in API level 3

Returns
  • maximum range of the sensor in the sensor's unit.

public int getMinDelay ()

Added in API level 9

Returns
  • the minimum delay allowed between two events in microsecond or zero if this sensor only returns a value when the data it's measuring changes.

public String getName ()

Added in API level 3

Returns
  • name string of the sensor.

public float getPower ()

Added in API level 3

Returns
  • the power in mA used by this sensor while in use

public float getResolution ()

Added in API level 3

Returns
  • resolution of the sensor in the sensor's unit.

public String getStringType ()

Added in API level 20

Returns
  • The type of this sensor as a string.

public int getType ()

Added in API level 3

Returns
  • generic type of this sensor.

public String getVendor ()

Added in API level 3

Returns
  • vendor string of this sensor.

public int getVersion ()

Added in API level 3

Returns
  • version of the sensor's module.

public String toString ()

Added in API level 3

Returns a string containing a concise, human-readable description of this object. Subclasses are encouraged to override this method and provide an implementation that takes into account the object's type and data. The default implementation is equivalent to the following expression:

   getClass().getName() + '@' + Integer.toHexString(hashCode())

See Writing a useful toString method if you intend implementing your own toString method.

Returns
  • a printable representation of this object.