Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)   
Deprecated in [API level 3](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels) Summary: [Methods](https://developer.android.com/reference/android/hardware/SensorListener#pubmethods)

# SensorListener

*** ** * ** ***

` public interface SensorListener `   
` `

|---|
| android.hardware.SensorListener |

Known indirect subclasses [OrientationListener](https://developer.android.com/reference/android/view/OrientationListener) [OrientationListener](https://developer.android.com/reference/android/view/OrientationListener) *This class was deprecated in API level 3. use `https://developer.android.com/reference/android/view/OrientationEventListener` instead. This class internally uses the OrientationEventListener.*   

*** ** * ** ***

<br />

**This interface was deprecated in API level 3.**   

Use `https://developer.android.com/reference/android/hardware/SensorEventListener` instead.

Used for receiving notifications from the SensorManager when sensor values have changed.

## Summary

| ### Public methods ||
|---|---|
| ` abstract void` | ` https://developer.android.com/reference/android/hardware/SensorListener#onAccuracyChanged(int,%20int)(int sensor, int accuracy) ` Called when the accuracy of a sensor has changed. |
| ` abstract void` | ` https://developer.android.com/reference/android/hardware/SensorListener#onSensorChanged(int,%20float[])(int sensor, float[] values) ` <br /> Called when sensor values have changed. |

## Public methods

### onAccuracyChanged

Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public abstract void onAccuracyChanged (int sensor, 
                int accuracy)
```

Called when the accuracy of a sensor has changed. See `https://developer.android.com/reference/android/hardware/SensorManager` for details.

<br />

| Parameters ||
|---|---|
| `sensor` | `int`: The ID of the sensor being monitored <br /> |
| `accuracy` | `int`: The new accuracy of this sensor. <br /> |

### onSensorChanged

Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public abstract void onSensorChanged (int sensor, 
                float[] values)
```

<br />

Called when sensor values have changed. The length and contents of the values array vary depending on which sensor is being monitored. See `https://developer.android.com/reference/android/hardware/SensorManager` for details on possible sensor types.

Definition of the coordinate system used below.

<br />

The X axis refers to the screen's horizontal axis (the small edge in portrait mode, the long edge in landscape mode) and points to the right.

The Y axis refers to the screen's vertical axis and points towards the top of the screen (the origin is in the lower-left corner).

The Z axis points toward the sky when the device is lying on its back on a table.

**IMPORTANT NOTE:** The axis **are swapped** when the device's screen orientation changes. To access the unswapped values, use indices 3, 4 and 5 in values\[\].

`https://developer.android.com/reference/android/hardware/SensorManager#SENSOR_ORIENTATION`, `https://developer.android.com/reference/android/hardware/SensorManager#SENSOR_ORIENTATION_RAW`:

All values are angles in degrees.

values\[0\]: Azimuth, rotation around the Z axis (0\<=azimuth\<360). 0 = North, 90 = East, 180 = South, 270 = West

values\[1\]: Pitch, rotation around X axis (-180\<=pitch\<=180), with positive values when the z-axis moves toward the y-axis.

values\[2\]: Roll, rotation around Y axis (-90\<=roll\<=90), with positive values when the z-axis moves toward the x-axis.

Note that this definition of yaw, pitch and roll is different from the traditional definition used in aviation where the X axis is along the long side of the plane (tail to nose).

`https://developer.android.com/reference/android/hardware/SensorManager#SENSOR_ACCELEROMETER`:

All values are in SI units (m/s\^2) and measure contact forces.

values\[0\]: force applied by the device on the x-axis

values\[1\]: force applied by the device on the y-axis

values\[2\]: force applied by the device on the z-axis

Examples:
- When the device is pushed on its left side toward the right, the x acceleration value is negative (the device applies a reaction force to the push toward the left)
- When the device lies flat on a table, the acceleration value is `https://developer.android.com/reference/android/hardware/SensorManager#STANDARD_GRAVITY`, which correspond to the force the device applies on the table in reaction to gravity.
- `https://developer.android.com/reference/android/hardware/SensorManager#SENSOR_MAGNETIC_FIELD`:
- All values are in micro-Tesla (uT) and measure the ambient magnetic field in the X, Y and -Z axis.
- **Note:** the magnetic field's Z axis is inverted.

| Parameters ||
|---|---|
| `sensor` | `int`: The ID of the sensor being monitored <br /> |
| `values` | `float`: The new values for the sensor. <br /> |