Sensor
Structures and functions to receive and process sensor events in native code.
Summary
Typedefs |
|
---|---|
AAdditionalInfoEvent
|
typedefstruct AAdditionalInfoEvent
|
ADynamicSensorEvent
|
typedefstruct ADynamicSensorEvent
|
AHardwareBuffer
|
typedefstruct AHardwareBuffer
|
AHeadTrackerEvent
|
typedefstruct AHeadTrackerEvent
|
AHeadingEvent
|
typedefstruct AHeadingEvent
|
AHeartRateEvent
|
typedefstruct AHeartRateEvent
|
ALimitedAxesImuEvent
|
typedefstruct ALimitedAxesImuEvent
|
ALimitedAxesImuUncalibratedEvent
|
typedef |
AMetaDataEvent
|
typedefstruct AMetaDataEvent
|
ASensor
|
typedefstruct ASensor
ASensor is an opaque type that provides information about an hardware sensors. |
ASensorEvent
|
typedefstruct ASensorEvent
Information that describes a sensor event, refer to SensorEvent for additional documentation. |
ASensorEventQueue
|
typedefstruct ASensorEventQueue
ASensorEventQueue is an opaque type that provides access to ASensorEvent from hardware sensors. |
ASensorList
|
typedefASensorRef const *
ASensorList is an array of reference to ASensor. |
ASensorManager
|
typedefstruct ASensorManager
ASensorManager is an opaque type to manage sensors and events queues. |
ASensorRef
|
typedefASensor const *
ASensorRef is a type for constant pointers to ASensor. |
ASensorVector
|
typedefstruct ASensorVector
A sensor event. |
AUncalibratedEvent
|
typedefstruct AUncalibratedEvent
|
Variables |
|
---|---|
instead
|
Functions |
|
---|---|
ASensorEventQueue_disableSensor(ASensorEventQueue *queue, ASensor const *sensor)
|
int
Disable the selected sensor.
|
ASensorEventQueue_enableSensor(ASensorEventQueue *queue, ASensor const *sensor)
|
int
Enable the selected sensor at default sampling rate.
|
ASensorEventQueue_getEvents(ASensorEventQueue *queue, ASensorEvent *events, size_t count)
|
ssize_t
Retrieve pending events in sensor event queue.
|
ASensorEventQueue_hasEvents(ASensorEventQueue *queue)
|
int
Determine if a sensor event queue has pending event to be processed.
|
ASensorEventQueue_registerSensor(ASensorEventQueue *queue, ASensor const *sensor, int32_t samplingPeriodUs, int64_t maxBatchReportLatencyUs)
|
int
Enable the selected sensor with sampling and report parameters.
|
ASensorEventQueue_requestAdditionalInfoEvents(ASensorEventQueue *queue, bool enable)
|
int
Request that ASENSOR_TYPE_ADDITIONAL_INFO events to be delivered on the given ASensorEventQueue.
|
ASensorEventQueue_setEventRate(ASensorEventQueue *queue, ASensor const *sensor, int32_t usec)
|
int
Sets the delivery rate of events in microseconds for the given sensor.
|
ASensorManager_configureDirectReport(ASensorManager *manager, ASensor const *sensor, int channelId, int rate)
|
int
Configure direct report on channel.
|
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.
|
ASensorManager_createHardwareBufferDirectChannel(ASensorManager *manager, AHardwareBuffer const *buffer, size_t size)
|
int
Create direct channel based on AHardwareBuffer.
|
ASensorManager_createSharedMemoryDirectChannel(ASensorManager *manager, int fd, size_t size)
|
int
Create direct channel based on shared memory.
|
ASensorManager_destroyDirectChannel(ASensorManager *manager, int channelId)
|
void
Destroy a direct channel.
|
ASensorManager_destroyEventQueue(ASensorManager *manager, ASensorEventQueue *queue)
|
int
Destroys the event queue and free all resources associated to it.
|
ASensorManager_getDefaultSensor(ASensorManager *manager, int type)
|
ASensor const *
Returns the default sensor for the given type, or NULL if no sensor of that type exists.
|
ASensorManager_getDefaultSensorEx(ASensorManager *manager, int type, bool wakeUp)
|
ASensor const *
Returns the default sensor with the given type and wakeUp properties or NULL if no sensor of this type and wakeUp properties exists.
|
ASensorManager_getDynamicSensorList(ASensorManager *manager, ASensorList *list)
|
ssize_t
Returns the list of available dynamic sensors.
|
ASensorManager_getInstance() __DEPRECATED_IN(26
|
Get a reference to the sensor manager.
|
ASensorManager_getInstanceForPackage(const char *packageName)
|
Get a reference to the sensor manager.
|
ASensorManager_getSensorList(ASensorManager *manager, ASensorList *list)
|
int
Returns the list of available sensors.
|
ASensor_getFifoMaxEventCount(ASensor const *sensor)
|
int
Returns the maximum size of batches for this sensor.
|
ASensor_getFifoReservedEventCount(ASensor const *sensor)
|
int
Returns the hardware batch fifo size reserved to this sensor.
|
ASensor_getHandle(ASensor const *sensor)
|
int
Returns the sensor's handle.
|
ASensor_getHighestDirectReportRateLevel(ASensor const *sensor)
|
int
Get the highest direct rate level that a sensor supports.
|
ASensor_getMinDelay(ASensor const *sensor)
|
int
Returns the minimum delay allowed between events in microseconds.
|
ASensor_getName(ASensor const *sensor)
|
const char *
Returns this sensor's name (non localized)
|
ASensor_getReportingMode(ASensor const *sensor)
|
int
Returns the reporting mode for this sensor.
|
ASensor_getResolution(ASensor const *sensor)
|
float
Returns this sensors's resolution.
|
ASensor_getStringType(ASensor const *sensor)
|
const char *
Returns this sensor's string type.
|
ASensor_getType(ASensor const *sensor)
|
int
Return this sensor's type.
|
ASensor_getVendor(ASensor const *sensor)
|
const char *
Returns this sensor's vendor's name (non localized)
|
ASensor_isDirectChannelTypeSupported(ASensor const *sensor, int channelType)
|
bool
Test if sensor supports a certain type of direct channel.
|
ASensor_isWakeUpSensor(ASensor const *sensor)
|
bool
Returns true if this is a wake up sensor, false otherwise.
|
Structs |
|
---|---|
AAdditionalInfoEvent | |
ADynamicSensorEvent | |
AHeadTrackerEvent | |
AHeadingEvent | |
AHeartRateEvent | |
ALimitedAxesImuEvent | |
ALimitedAxesImuUncalibratedEvent | |
AMetaDataEvent | |
ASensorEvent |
Information that describes a sensor event, refer to SensorEvent for additional documentation. |
ASensorVector |
A sensor event. |
AUncalibratedEvent |
Enumerations
Anonymous Enum 59
Declared inandroid/sensor.h
Anonymous Enum 59
Sensor types.
See android.hardware.SensorEvent::values for detailed explanations of the data returned for each of these types.
Properties | |
---|---|
ASENSOR_TYPE_ACCELEROMETER
|
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_ACCELEROMETER_LIMITED_AXES
|
ASENSOR_TYPE_ACCELEROMETER_LIMITED_AXES reporting-mode: continuous The first three values are in SI units (m/s^2) and measure the acceleration of the device minus the force of gravity. The last three values indicate which acceleration axes are supported. A value of 1.0 means supported and a value of 0 means not supported. |
ASENSOR_TYPE_ACCELEROMETER_LIMITED_AXES_UNCALIBRATED
|
ASENSOR_TYPE_ACCELEROMETER_LIMITED_AXES_UNCALIBRATED reporting-mode: continuous The first three values are in SI units (m/s^2) and measure the acceleration of the device minus the force of gravity. The middle three values represent the estimated bias for each axis. The last three values indicate which acceleration axes are supported. A value of 1.0 means supported and a value of 0 means not supported. |
ASENSOR_TYPE_ACCELEROMETER_UNCALIBRATED
|
|
ASENSOR_TYPE_ADDITIONAL_INFO
|
This sensor type is for delivering additional sensor information aside from sensor event data. Additional information may include:
This type will never bind to a sensor. In other words, no sensor in the sensor list can have the type ASENSOR_TYPE_ADDITIONAL_INFO. If a device supports the sensor additional information feature, it will report additional information events via ASensorEvent and will have the type of ASensorEvent set to ASENSOR_TYPE_ADDITIONAL_INFO and the sensor of ASensorEvent set to the handle of the reporting sensor. Additional information reports consist of multiple frames ordered by ASensorEvent#timestamp. The first frame in the report will have a AAdditionalInfoEvent#type of ASENSOR_ADDITIONAL_INFO_BEGIN, and the last frame in the report will have a AAdditionalInfoEvent#type of ASENSOR_ADDITIONAL_INFO_END. |
ASENSOR_TYPE_AMBIENT_TEMPERATURE
|
ASENSOR_TYPE_AMBIENT_TEMPERATURE The ambient temperature sensor value is returned in Celcius. |
ASENSOR_TYPE_DYNAMIC_SENSOR_META
|
A constant describing a dynamic sensor meta event sensor. A sensor event of this type is received when a dynamic sensor is added to or removed from the system. This sensor type should always use special trigger report mode. |
ASENSOR_TYPE_GAME_ROTATION_VECTOR
|
|
ASENSOR_TYPE_GEOMAGNETIC_ROTATION_VECTOR
|
|
ASENSOR_TYPE_GRAVITY
|
All values are in SI units (m/s^2) and measure the direction and magnitude of gravity. When the device is at rest, the output of the gravity sensor should be identical to that of the accelerometer. |
ASENSOR_TYPE_GYROSCOPE
|
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_GYROSCOPE_LIMITED_AXES
|
ASENSOR_TYPE_GYROSCOPE_LIMITED_AXES reporting-mode: continuous The first three values are in radians/second and measure the rate of rotation around the X, Y and Z axis. The last three values indicate which rotation axes are supported. A value of 1.0 means supported and a value of 0 means not supported. |
ASENSOR_TYPE_GYROSCOPE_LIMITED_AXES_UNCALIBRATED
|
ASENSOR_TYPE_GYROSCOPE_LIMITED_AXES_UNCALIBRATED reporting-mode: continuous The first three values are in radians/second and measure the rate of rotation around the X, Y and Z axis. The middle three values represent the estimated drift around each axis in rad/s. The last three values indicate which rotation axes are supported. A value of 1.0 means supported and a value of 0 means not supported. |
ASENSOR_TYPE_GYROSCOPE_UNCALIBRATED
|
|
ASENSOR_TYPE_HEADING
|
ASENSOR_TYPE_HEADING reporting-mode: continuous A heading sensor measures the direction in which the device is pointing relative to true north in degrees. |
ASENSOR_TYPE_HEAD_TRACKER
|
ASENSOR_TYPE_HEAD_TRACKER reporting-mode: continuous Measures the orientation and rotational velocity of a user's head. Only for internal use within the Android system. |
ASENSOR_TYPE_HEART_BEAT
|
|
ASENSOR_TYPE_HEART_RATE
|
|
ASENSOR_TYPE_HINGE_ANGLE
|
ASENSOR_TYPE_HINGE_ANGLE reporting-mode: on-change The hinge angle sensor value is returned in degrees. |
ASENSOR_TYPE_INVALID
|
Invalid sensor type. Returned by ASensor_getType as error value. |
ASENSOR_TYPE_LIGHT
|
ASENSOR_TYPE_LIGHT reporting-mode: on-change The light sensor value is returned in SI lux units. |
ASENSOR_TYPE_LINEAR_ACCELERATION
|
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. |
ASENSOR_TYPE_LOW_LATENCY_OFFBODY_DETECT
|
|
ASENSOR_TYPE_MAGNETIC_FIELD
|
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_MAGNETIC_FIELD_UNCALIBRATED
|
|
ASENSOR_TYPE_MOTION_DETECT
|
|
ASENSOR_TYPE_POSE_6DOF
|
|
ASENSOR_TYPE_PRESSURE
|
The pressure sensor value is returned in hPa (millibar). |
ASENSOR_TYPE_PROXIMITY
|
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_RELATIVE_HUMIDITY
|
ASENSOR_TYPE_RELATIVE_HUMIDITY The relative humidity sensor value is returned in percent. |
ASENSOR_TYPE_ROTATION_VECTOR
|
|
ASENSOR_TYPE_SIGNIFICANT_MOTION
|
|
ASENSOR_TYPE_STATIONARY_DETECT
|
|
ASENSOR_TYPE_STEP_COUNTER
|
|
ASENSOR_TYPE_STEP_DETECTOR
|
Anonymous Enum 60
Declared inandroid/sensor.h
Anonymous Enum 60
Anonymous Enum 61
Declared inandroid/sensor.h
Anonymous Enum 61
Anonymous Enum 62
Declared inandroid/sensor.h
Anonymous Enum 62
Anonymous Enum 63
Declared inandroid/sensor.h
Anonymous Enum 63
Anonymous Enum 64
Declared inandroid/sensor.h
Anonymous Enum 64
Sensor Additional Info Types.
Used to populate AAdditionalInfoEvent#type.
Typedefs
AHardwareBuffer
Declared inandroid/sensor.h
struct AHardwareBuffer AHardwareBuffer
ALimitedAxesImuUncalibratedEvent
Declared inandroid/sensor.h
struct ALimitedAxesImuUncalibratedEvent ALimitedAxesImuUncalibratedEvent
ASensor
Declared inandroid/sensor.h
struct ASensor ASensor
ASensor is an opaque type that provides information about an hardware sensors.
A ASensor pointer can be obtained using ASensorManager_getDefaultSensor(), ASensorManager_getDefaultSensorEx() or from a ASensorList.
This file provides a set of functions to access properties of a ASensor:
ASensorEvent
Declared inandroid/sensor.h
struct ASensorEvent ASensorEvent
Information that describes a sensor event, refer to SensorEvent for additional documentation.
NOTE: changes to this struct has to be backward compatible and reflected in sensors_event_t
ASensorEventQueue
Declared inandroid/sensor.h
struct ASensorEventQueue 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
Declared inandroid/sensor.h
ASensorRef const * ASensorList
ASensorList is an array of reference to ASensor.
A ASensorList can be initialized using ASensorManager_getSensorList().
ASensorManager
Declared inandroid/sensor.h
struct ASensorManager 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
Declared inandroid/sensor.h
ASensor const * ASensorRef
ASensorRef is a type for constant pointers to ASensor.
This is used to define entry in ASensorList arrays.
Variables
instead
Declared inandroid/sensor.h
ASensorManager Use ASensorManager_getInstanceForPackage instead
Functions
ASensorEventQueue_disableSensor
Declared inandroid/sensor.h
int ASensorEventQueue_disableSensor( ASensorEventQueue *queue, ASensor const *sensor )
Disable the selected sensor.
Stop event reports from the sensor to specified sensor event queue.
Details | |||||
---|---|---|---|---|---|
Parameters |
|
||||
Returns |
0 on success or a negative error code on failure.
|
ASensorEventQueue_enableSensor
Declared inandroid/sensor.h
int ASensorEventQueue_enableSensor( ASensorEventQueue *queue, ASensor const *sensor )
Enable the selected sensor at default sampling rate.
Start event reports of a sensor to specified sensor event queue at a default rate.
Details | |||||
---|---|---|---|---|---|
Parameters |
|
||||
Returns |
0 on success or a negative error code on failure.
|
ASensorEventQueue_getEvents
Declared inandroid/sensor.h
ssize_t ASensorEventQueue_getEvents( ASensorEventQueue *queue, ASensorEvent *events, size_t count )
Retrieve pending events in sensor event queue.
Retrieve next available events from the queue to a specified event array.
Examples:
ASensorEvent event; ssize_t numEvent = ASensorEventQueue_getEvents(queue, &event, 1); ASensorEvent eventBuffer[8]; ssize_t numEvent = ASensorEventQueue_getEvents(queue, eventBuffer, 8);
Details | |||||||
---|---|---|---|---|---|---|---|
Parameters |
|
||||||
Returns |
number of events returned on success; negative error code when no events are pending or an error has occurred.
|
ASensorEventQueue_hasEvents
Declared inandroid/sensor.h
int ASensorEventQueue_hasEvents( ASensorEventQueue *queue )
Determine if a sensor event queue has pending event to be processed.
Details | |||
---|---|---|---|
Parameters |
|
||
Returns |
1 if the queue has events; 0 if it does not have events; or a negative value if there is an error.
|
ASensorEventQueue_registerSensor
Declared inandroid/sensor.h
int ASensorEventQueue_registerSensor( ASensorEventQueue *queue, ASensor const *sensor, int32_t samplingPeriodUs, int64_t maxBatchReportLatencyUs )
Enable the selected sensor with sampling and report parameters.
Enable the selected sensor at a specified sampling period and max batch report latency. To disable sensor, use ASensorEventQueue_disableSensor.
Details | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parameters |
|
||||||||
Returns |
0 on success or a negative error code on failure.
|
ASensorEventQueue_requestAdditionalInfoEvents
Declared inandroid/sensor.h
int ASensorEventQueue_requestAdditionalInfoEvents( ASensorEventQueue *queue, bool enable )
Request that ASENSOR_TYPE_ADDITIONAL_INFO events to be delivered on the given ASensorEventQueue.
Sensor data events are always delivered to the ASensorEventQueue.
The ASENSOR_TYPE_ADDITIONAL_INFO events will be returned through ASensorEventQueue_getEvents. The client is responsible for checking ASensorEvent#type to determine the event type prior to handling of the event.
The client must be tolerant of any value for AAdditionalInfoEvent#type, as new values may be defined in the future and may delivered to the client.
Available since API level 29.
Details | |||||
---|---|---|---|---|---|
Parameters |
|
||||
Returns |
0 on success or a negative error code on failure
|
ASensorEventQueue_setEventRate
Declared inandroid/sensor.h
int ASensorEventQueue_setEventRate( ASensorEventQueue *queue, ASensor const *sensor, int32_t usec )
Sets the delivery rate of events in microseconds for the given sensor.
This function has to be called after ASensorEventQueue_enableSensor. 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().
Details | |||||||
---|---|---|---|---|---|---|---|
Parameters |
|
||||||
Returns |
0 on sucess or a negative error code on failure.
|
ASensorManager_configureDirectReport
Declared inandroid/sensor.h
int ASensorManager_configureDirectReport( ASensorManager *manager, ASensor const *sensor, int channelId, int rate )
Configure direct report on channel.
Configure sensor direct report on a direct channel: set rate to value other than ASENSOR_DIRECT_RATE_STOP so that sensor event can be directly written into the shared memory region used for creating the buffer. It returns a positive token which can be used for identify sensor events from different sensors on success. Calling with rate ASENSOR_DIRECT_RATE_STOP will stop direct report of the sensor specified in the channel.
To stop all active sensor direct report configured to a channel, set sensor to NULL and rate to ASENSOR_DIRECT_RATE_STOP.
In order to successfully configure a direct report, the sensor has to support the specified rate and the channel type, which can be checked by ASensor_getHighestDirectReportRateLevel and ASensor_isDirectChannelTypeSupported, respectively.
Example:
ASensorManager *manager = ...; ASensor *sensor = ...; int channelId = ...; ASensorManager_configureDirectReport(manager, sensor, channel_id, ASENSOR_DIRECT_RATE_FAST);
Available since API level 26.
Details | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parameters |
|
||||||||
Returns |
positive token for success or negative error code.
|
ASensorManager_createEventQueue
Declared inandroid/sensor.h
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_createHardwareBufferDirectChannel
Declared inandroid/sensor.h
int ASensorManager_createHardwareBufferDirectChannel( ASensorManager *manager, AHardwareBuffer const *buffer, size_t size )
Create direct channel based on AHardwareBuffer.
Create a direct channel of ASENSOR_DIRECT_CHANNEL_TYPE_HARDWARE_BUFFER type to be used for configuring sensor direct report.
Available since API level 26.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameters |
|
||||||
Returns |
a positive integer as a channel id to be used in ASensorManager_destroyDirectChannel and ASensorManager_configureDirectReport, or value less or equal to 0 for failures.
|
ASensorManager_createSharedMemoryDirectChannel
Declared inandroid/sensor.h
int ASensorManager_createSharedMemoryDirectChannel( ASensorManager *manager, int fd, size_t size )
Create direct channel based on shared memory.
Create a direct channel of ASENSOR_DIRECT_CHANNEL_TYPE_SHARED_MEMORY to be used for configuring sensor direct report.
Available since API level 26.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameters |
|
||||||
Returns |
a positive integer as a channel id to be used in ASensorManager_destroyDirectChannel and ASensorManager_configureDirectReport, or value less or equal to 0 for failures.
|
ASensorManager_destroyDirectChannel
Declared inandroid/sensor.h
void ASensorManager_destroyDirectChannel( ASensorManager *manager, int channelId )
Destroy a direct channel.
Destroy a direct channel previously created by using one of ASensorManager_create*DirectChannel() derivative functions. Note that the buffer used for creating the direct channel does not get destroyed with ASensorManager_destroyDirectChannel and has to be closed or released separately.
Available since API level 26.
Details | |||||
---|---|---|---|---|---|
Parameters |
|
ASensorManager_destroyEventQueue
Declared inandroid/sensor.h
int ASensorManager_destroyEventQueue( ASensorManager *manager, ASensorEventQueue *queue )
Destroys the event queue and free all resources associated to it.
ASensorManager_getDefaultSensor
Declared inandroid/sensor.h
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
Declared inandroid/sensor.h
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.
Available since API level 21.
ASensorManager_getDynamicSensorList
Declared inandroid/sensor.h
ssize_t ASensorManager_getDynamicSensorList( ASensorManager *manager, ASensorList *list )
Returns the list of available dynamic sensors.
If there are no dynamic sensors available, returns nullptr in list.
Each time this is called, the previously returned list is deallocated and must no longer be used.
Clients should call this if they receive a sensor update from ASENSOR_TYPE_DYNAMIC_SENSOR_META indicating the sensors have changed. If this happens, previously received lists from this method will be stale.
Available since API level 33.
Details | |||||
---|---|---|---|---|---|
Parameters |
|
||||
Returns |
positive number of returned sensors or negative error code. BAD_VALUE: manager is NULL.
|
ASensorManager_getInstance
Declared inandroid/sensor.h
ASensorManager * ASensorManager_getInstance() __DEPRECATED_IN(26
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.
Example:
ASensorManager* sensorManager = ASensorManager_getInstance();
ASensorManager_getInstanceForPackage
Declared inandroid/sensor.h
ASensorManager * ASensorManager_getInstanceForPackage( const char *packageName )
Get a reference to the sensor manager.
ASensorManager is a singleton per package as different packages may have access to different sensors.
Example:
ASensorManager* sensorManager = ASensorManager_getInstanceForPackage("foo.bar.baz");
Available since API level 26.
ASensorManager_getSensorList
Declared inandroid/sensor.h
int ASensorManager_getSensorList( ASensorManager *manager, ASensorList *list )
Returns the list of available sensors.
The returned list is owned by the sensor manager and will not change between calls to this function.
Details | |||||
---|---|---|---|---|---|
Parameters |
|
||||
Returns |
positive number of returned sensors or negative error code. BAD_VALUE: manager is NULL.
|
ASensor_getFifoMaxEventCount
Declared inandroid/sensor.h
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.
Available since API level 21.
ASensor_getFifoReservedEventCount
Declared inandroid/sensor.h
int ASensor_getFifoReservedEventCount( ASensor const *sensor )
Returns the hardware batch fifo size reserved to this sensor.
Available since API level 21.
ASensor_getHandle
Declared inandroid/sensor.h
int ASensor_getHandle( ASensor const *sensor )
Returns the sensor's handle.
The handle identifies the sensor within the system and is included in the sensor field of ASensorEvent, including those sent with type ASENSOR_TYPE_ADDITIONAL_INFO.
A sensor's handle is able to be used to map ASENSOR_TYPE_ADDITIONAL_INFO events to the sensor that generated the event.
It is important to note that the value returned by ASensor_getHandle is not the same as the value returned by the Java API android.hardware.Sensor's getId() and no mapping exists between the values.
Available since API level 29.
ASensor_getHighestDirectReportRateLevel
Declared inandroid/sensor.h
int ASensor_getHighestDirectReportRateLevel( ASensor const *sensor )
Get the highest direct rate level that a sensor supports.
Available since API level 26.
Details | |||
---|---|---|---|
Parameters |
|
||
Returns |
a ASENSOR_DIRECT_RATE_... enum denoting the highest rate level supported by the sensor. If return value is ASENSOR_DIRECT_RATE_STOP, it means the sensor does not support direct report.
|
ASensor_getMinDelay
Declared inandroid/sensor.h
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
Declared inandroid/sensor.h
const char * ASensor_getName( ASensor const *sensor )
Returns this sensor's name (non localized)
ASensor_getReportingMode
Declared inandroid/sensor.h
int ASensor_getReportingMode( ASensor const *sensor )
Returns the reporting mode for this sensor.
One of AREPORTING_MODE_* constants.
Available since API level 21.
ASensor_getResolution
Declared inandroid/sensor.h
float ASensor_getResolution( ASensor const *sensor )
Returns this sensors's resolution.
ASensor_getStringType
Declared inandroid/sensor.h
const char * ASensor_getStringType( ASensor const *sensor )
Returns this sensor's string type.
Available since API level 21.
ASensor_getType
Declared inandroid/sensor.h
int ASensor_getType( ASensor const *sensor )
Return this sensor's type.
ASensor_getVendor
Declared inandroid/sensor.h
const char * ASensor_getVendor( ASensor const *sensor )
Returns this sensor's vendor's name (non localized)
ASensor_isDirectChannelTypeSupported
Declared inandroid/sensor.h
bool ASensor_isDirectChannelTypeSupported( ASensor const *sensor, int channelType )
Test if sensor supports a certain type of direct channel.
Available since API level 26.
Details | |||||
---|---|---|---|---|---|
Parameters |
|
||||
Returns |
true if sensor supports the specified direct channel type.
|
ASensor_isWakeUpSensor
Declared inandroid/sensor.h
bool ASensor_isWakeUpSensor( ASensor const *sensor )
Returns true if this is a wake up sensor, false otherwise.
Available since API level 21.