Sensor Usage Guidelines
The following steps use the sensor whose sensorTypeId is 0 as an example. The guidelines for other sensor types are similar.
How to Use
-
Import the required header files.
#include "sensor_agent.h" #include "sensor_agent_type.h"
-
Create a sensor callback.
void SensorDataCallbackImpl(SensorEvent *event) { if(event == NULL){ return; } float *sensorData=(float *)event->data; }
NOTE The callback must be of the RecordSensorCallback type.
-
Obtain the list of sensors supported by the device.
SensorInfo *sensorInfo = (SensorInfo *)NULL; int32_t count = 0; int32_t ret = GetAllSensors(&sensorInfo, &count);
-
Create a sensor user.
SensorUser sensorUser; sensorUser.callback = SensorDataCallbackImpl; // Assign the created callback SensorDataCallbackImpl to the member variable callback.
-
Enable the sensor.
int32_t ret = ActivateSensor(0, &sensorUser);
-
Subscribe to sensor data.
int32_t ret = SubscribeSensor(0, &sensorUser);
NOTE Till now, you can obtain the sensor data via the callback.
-
Unsubscribe from the sensor data.
int32_t ret = UnsubscribeSensor(0, &sensorUser);
-
Disable the sensor.
int32_t ret = DeactivateSensor(0, &sensorUser);