Skip to content

Most visited

Recently visited




file  sensor.h

Data Structures

struct  ASensorVector
struct  AMetaDataEvent
struct  AUncalibratedEvent
struct  AHeartRateEvent
struct  ADynamicSensorEvent
struct  AAdditionalInfoEvent
struct  ASensorEvent


typedef struct ASensorVector ASensorVector
typedef struct AMetaDataEvent AMetaDataEvent
typedef struct AUncalibratedEvent AUncalibratedEvent
typedef struct AHeartRateEvent AHeartRateEvent
typedef struct ADynamicSensorEvent ADynamicSensorEvent
typedef struct ASensorEvent ASensorEvent
typedef struct ASensorManager ASensorManager
typedef struct ASensorEventQueue ASensorEventQueue
typedef struct ASensor ASensor
typedef ASensor const * ASensorRef
typedef ASensorRef const * ASensorList


enum  {
enum  {


 __attribute__ ((deprecated)) ASensorManager *ASensorManager_getInstance()
ASensorManagerASensorManager_getInstanceForPackage (const char *packageName)
int ASensorManager_getSensorList (ASensorManager *manager, ASensorList *list)
ASensor const * ASensorManager_getDefaultSensor (ASensorManager *manager, int type)
ASensor const * ASensorManager_getDefaultSensorEx (ASensorManager *manager, int type, bool wakeUp)
ASensorEventQueueASensorManager_createEventQueue (ASensorManager *manager, ALooper *looper, int ident, ALooper_callbackFunc callback, void *data)
int ASensorManager_destroyEventQueue (ASensorManager *manager, ASensorEventQueue *queue)
int ASensorEventQueue_registerSensor (ASensorEventQueue *queue, ASensor const *sensor, int32_t samplingPeriodUs, int maxBatchReportLatencyUs)
int ASensorEventQueue_enableSensor (ASensorEventQueue *queue, ASensor const *sensor)
int ASensorEventQueue_disableSensor (ASensorEventQueue *queue, ASensor const *sensor)
int ASensorEventQueue_setEventRate (ASensorEventQueue *queue, ASensor const *sensor, int32_t usec)
int ASensorEventQueue_hasEvents (ASensorEventQueue *queue)
ssize_t ASensorEventQueue_getEvents (ASensorEventQueue *queue, ASensorEvent *events, size_t count)
const char * ASensor_getName (ASensor const *sensor)
const char * ASensor_getVendor (ASensor const *sensor)
int ASensor_getType (ASensor const *sensor)
float ASensor_getResolution (ASensor const *sensor)
int ASensor_getMinDelay (ASensor const *sensor)
int ASensor_getFifoMaxEventCount (ASensor const *sensor)
int ASensor_getFifoReservedEventCount (ASensor const *sensor)
const char * ASensor_getStringType (ASensor const *sensor)
int ASensor_getReportingMode (ASensor const *sensor)
bool ASensor_isWakeUpSensor (ASensor const *sensor)

Detailed Description

Typedef Documentation

§ ADynamicSensorEvent

§ AHeartRateEvent

§ AMetaDataEvent

§ ASensor

§ ASensorEvent

typedef struct ASensorEvent ASensorEvent

§ ASensorEventQueue

ASensorEventQueue is an opaque type that provides access to ASensorEvent from hardware sensors.

A new ASensorEventQueue can be obtained using ASensorManager_createEventQueue().

This file provides a set of functions to enable and disable sensors, check and get events, and set event rates on a ASensorEventQueue.

§ ASensorList

typedef ASensorRef const* ASensorList

ASensorList is an array of reference to ASensor.

A ASensorList can be initialized using ASensorManager_getSensorList().

§ ASensorManager

ASensorManager is an opaque type to manage sensors and events queues.

ASensorManager is a singleton that can be obtained using ASensorManager_getInstance().

This file provides a set of functions that uses ASensorManager to access and list hardware sensors, and create and destroy event queues:

§ ASensorRef

typedef ASensor const* ASensorRef

ASensorRef is a type for constant pointers to ASensor.

This is used to define entry in ASensorList arrays.

§ ASensorVector

typedef struct ASensorVector ASensorVector

A sensor event.

§ AUncalibratedEvent

Enumeration Type Documentation

§ anonymous enum

anonymous enum

Structures and functions to receive and process sensor events in native code. Sensor types. (keep in sync with hardware/sensors.h)


ASENSOR_TYPE_ACCELEROMETER reporting-mode: continuous

All values are in SI units (m/s^2) and measure the acceleration of the device minus the force of gravity.


ASENSOR_TYPE_MAGNETIC_FIELD reporting-mode: continuous

All values are in micro-Tesla (uT) and measure the geomagnetic field in the X, Y and Z axis.


ASENSOR_TYPE_GYROSCOPE reporting-mode: continuous

All values are in radians/second and measure the rate of rotation around the X, Y and Z axis.


ASENSOR_TYPE_LIGHT reporting-mode: on-change

The light sensor value is returned in SI lux units.


ASENSOR_TYPE_PROXIMITY reporting-mode: on-change

The proximity sensor which turns the screen off and back on during calls is the wake-up proximity sensor. Implement wake-up proximity sensor before implementing a non wake-up proximity sensor. For the wake-up proximity sensor set the flag SENSOR_FLAG_WAKE_UP. The value corresponds to the distance to the nearest object in centimeters.


ASENSOR_TYPE_LINEAR_ACCELERATION reporting-mode: continuous

All values are in SI units (m/s^2) and measure the acceleration of the device not including the force of gravity.

§ anonymous enum

anonymous enum

Sensor accuracy measure.


no contact




low accuracy


medium accuracy


high accuracy

§ anonymous enum

anonymous enum

Sensor Reporting Modes.


continuous reporting


reporting on change


on shot reporting


special trigger reporting

Function Documentation

§ __attribute__()

__attribute__ ( (deprecated)  )

Get a reference to the sensor manager. ASensorManager is a singleton per package as different packages may have access to different sensors.

Deprecated: Use ASensorManager_getInstanceForPackage(const char*) instead.


ASensorManager* sensorManager = ASensorManager_getInstance();

§ ASensor_getFifoMaxEventCount()

int ASensor_getFifoMaxEventCount ( ASensor const *  sensor)

Returns the maximum size of batches for this sensor. Batches will often be smaller, as the hardware fifo might be used for other sensors.

§ ASensor_getFifoReservedEventCount()

int ASensor_getFifoReservedEventCount ( ASensor const *  sensor)

Returns the hardware batch fifo size reserved to this sensor.

§ ASensor_getMinDelay()

int ASensor_getMinDelay ( ASensor const *  sensor)

Returns the minimum delay allowed between events in microseconds. A value of zero means that this sensor doesn't report events at a constant rate, but rather only when a new data is available.

§ ASensor_getName()

const char* ASensor_getName ( ASensor const *  sensor)

Returns this sensor's name (non localized)

§ ASensor_getReportingMode()

int ASensor_getReportingMode ( ASensor const *  sensor)

Returns the reporting mode for this sensor. One of AREPORTING_MODE_* constants.

§ ASensor_getResolution()

float ASensor_getResolution ( ASensor const *  sensor)

Returns this sensors's resolution

§ ASensor_getStringType()

const char* ASensor_getStringType ( ASensor const *  sensor)

Returns this sensor's string type.

§ ASensor_getType()

int ASensor_getType ( ASensor const *  sensor)

Return this sensor's type

§ ASensor_getVendor()

const char* ASensor_getVendor ( ASensor const *  sensor)

Returns this sensor's vendor's name (non localized)

§ ASensor_isWakeUpSensor()

bool ASensor_isWakeUpSensor ( ASensor const *  sensor)

Returns true if this is a wake up sensor, false otherwise.

§ ASensorEventQueue_disableSensor()

int ASensorEventQueue_disableSensor ( ASensorEventQueue queue,
ASensor const *  sensor 

Disable the selected sensor. Returns a negative error code on failure.

§ ASensorEventQueue_enableSensor()

int ASensorEventQueue_enableSensor ( ASensorEventQueue queue,
ASensor const *  sensor 

Enable the selected sensor. Returns a negative error code on failure.

§ ASensorEventQueue_getEvents()

ssize_t ASensorEventQueue_getEvents ( ASensorEventQueue queue,
ASensorEvent events,
size_t  count 

Returns the next available events from the queue. Returns a negative value if no events are available or an error has occurred, otherwise the number of events returned.

Examples: ASensorEvent event; ssize_t numEvent = ASensorEventQueue_getEvents(queue, &event, 1);

ASensorEvent eventBuffer[8]; ssize_t numEvent = ASensorEventQueue_getEvents(queue, eventBuffer, 8);

§ ASensorEventQueue_hasEvents()

int ASensorEventQueue_hasEvents ( ASensorEventQueue queue)

Returns true if there are one or more events available in the sensor queue. Returns 1 if the queue has events; 0 if it does not have events; and a negative value if there is an error.

§ ASensorEventQueue_registerSensor()

int ASensorEventQueue_registerSensor ( ASensorEventQueue queue,
ASensor const *  sensor,
int32_t  samplingPeriodUs,
int  maxBatchReportLatencyUs 

Enable the selected sensor with a specified sampling period and max batch report latency. Returns a negative error code on failure. Note: To disable the selected sensor, use ASensorEventQueue_disableSensor() same as before.

§ ASensorEventQueue_setEventRate()

int ASensorEventQueue_setEventRate ( ASensorEventQueue queue,
ASensor const *  sensor,
int32_t  usec 

Sets the delivery rate of events in microseconds for the given sensor. Note that this is a hint only, generally event will arrive at a higher rate. It is an error to set a rate inferior to the value returned by ASensor_getMinDelay(). Returns a negative error code on failure.

§ ASensorManager_createEventQueue()

ASensorEventQueue* ASensorManager_createEventQueue ( ASensorManager manager,
ALooper looper,
int  ident,
ALooper_callbackFunc  callback,
void *  data 

Creates a new sensor event queue and associate it with a looper.

"ident" is a identifier for the events that will be returned when calling ALooper_pollOnce(). The identifier must be >= 0, or ALOOPER_POLL_CALLBACK if providing a non-NULL callback.

§ ASensorManager_destroyEventQueue()

int ASensorManager_destroyEventQueue ( ASensorManager manager,
ASensorEventQueue queue 

Destroys the event queue and free all resources associated to it.

§ ASensorManager_getDefaultSensor()

ASensor const* ASensorManager_getDefaultSensor ( ASensorManager manager,
int  type 

Returns the default sensor for the given type, or NULL if no sensor of that type exists.

§ ASensorManager_getDefaultSensorEx()

ASensor const* ASensorManager_getDefaultSensorEx ( ASensorManager manager,
int  type,
bool  wakeUp 

Returns the default sensor with the given type and wakeUp properties or NULL if no sensor of this type and wakeUp properties exists.

§ ASensorManager_getInstanceForPackage()

ASensorManager* ASensorManager_getInstanceForPackage ( const char *  packageName)

§ ASensorManager_getSensorList()

int ASensorManager_getSensorList ( ASensorManager manager,
ASensorList list 

Returns the list of available sensors.

This site uses cookies to store your preferences for site-specific language and display options.


This class requires API level or higher

This doc is hidden because your selected API level for the documentation is . You can change the documentation API level with the selector above the left navigation.

For more information about specifying the API level your app requires, read Supporting Different Platform Versions.

Take a one-minute survey?
Help us improve Android tools and documentation.