1# Sensor服务子系使用指导<a name="ZH-CN_TOPIC_0000001077367158"></a> 2 3- [使用步骤](#section18816105182315) 4 5下面使用步骤以sensorTypeId为0的传感器为例,其他类型的传感器使用方式类似。 6 7## 使用步骤<a name="section18816105182315"></a> 8 91. 导入需要的包 10 11 ``` 12 #include "sensor_agent.h" 13 #include "sensor_agent_type.h" 14 ``` 15 162. 创建传感器回调函数 17 18 ``` 19 void SensorDataCallbackImpl(SensorEvent *event) 20 { 21 if(event == NULL){ 22 return; 23 } 24 float *sensorData=(float *)event->data; 25 } 26 ``` 27 28>![](../public_sys-resources/icon-note.gif) **说明:** 29>回调函数的格式为RecordSensorCallback类型。 30 313. 获取设备支持sensor列表 32 33 ``` 34 SensorInfo *sensorInfo = (SensorInfo *)NULL; 35 int32_t count = 0; 36 int32_t ret = GetAllSensors(&sensorInfo, &count); 37 ``` 38 394. 创建的传感器用户 40 41 ``` 42 SensorUser sensorUser; 43 sensorUser.callback = SensorDataCallbackImpl; //成员变量callback指向创建的回调方法 44 ``` 45 465. 使能传感器 47 48 ``` 49 int32_t ret = ActivateSensor(0, &sensorUser); 50 ``` 51 526. 订阅传感器数据 53 54 ``` 55 int32_t ret = SubscribeSensor(0, &sensorUser); 56 ``` 57 58>![](../public_sys-resources/icon-note.gif) **说明:** 59>到这步就可以在实现的回调方法中获取到传感器数据。 60 617. 取消传感器数据订阅 62 63 ``` 64 int32_t ret = UnsubscribeSensor(0, &sensorUser); 65 ``` 66 678. 去使能一个传感器 68 69 ``` 70 int32_t ret = DeactivateSensor(0, &sensorUser); 71 ``` 72 73