harmony 鸿蒙传感器开发指导
传感器开发指导
场景介绍
当设备需要获取传感器数据时,可以使用sensor模块,例如:通过订阅方向传感器数据感知用户设备当前的朝向,通过订阅计步传感器数据统计用户的步数等。
详细的接口介绍请参考Sensor接口。
接口说明
| 模块 | 接口名 | 描述 | 
|---|---|---|
| ohos.sensor | sensor.on(sensorId, callback:AsyncCallback<Response>): void | 持续监听传感器数据变化 | 
| ohos.sensor | sensor.once(sensorId, callback:AsyncCallback<Response>): void | 获取一次传感器数据变化 | 
| ohos.sensor | sensor.off(sensorId, callback?:AsyncCallback<void>): void | 注销传感器数据的监听 | 
| ohos.sensor | sensor.getSensorList(callback: AsyncCallback<Array<Sensor>>): void | 获取设备上的所有传感器信息 | 
开发步骤
开发步骤以加速度传感器ACCELEROMETER为例。
- 导入模块。
   import sensor from '@ohos.sensor';
   import { BusinessError } from '@ohos.base';
- 查询设备支持的所有传感器的参数。 - sensor.getSensorList((error: BusinessError, data: Array<sensor.Sensor>) => { if (error) { console.info('getSensorList failed'); } else { console.info('getSensorList success'); for (let i = 0; i < data.length; i++) { console.info(JSON.stringify(data[i])); } } }); - 可以看到该传感器支持的最小采样周期为5000000纳秒,支持的最大采样周期是200000000纳秒,传感器上报周期interval应该设置在该范围内。 
- 检查是否已经配置相应权限,具体配置方式请参考权限申请声明。 
- 注册监听。可以通过on()和once()两种接口监听传感器的调用结果。 
- 通过on()接口,实现对传感器的持续监听,传感器上报周期interval设置为100000000纳秒。 - sensor.on(sensor.SensorId.ACCELEROMETER, (data: sensor.AccelerometerResponse) => { console.info("Succeeded in obtaining data. x: " + data.x + " y: " + data.y + " z: " + data.z); }, { interval: 100000000 }); 
- 通过once()接口,实现对传感器的一次监听。 - sensor.once(sensor.SensorId.ACCELEROMETER, (data: sensor.AccelerometerResponse) => { console.info("Succeeded in obtaining data. x: " + data.x + " y: " + data.y + " z: " + data.z); }); 
- 取消持续监听。 - sensor.off(sensor.SensorId.ACCELEROMETER);
你可能感兴趣的鸿蒙文章
                        
                            2
                        
                        
                             赞
                        
                    
                    
                热门推荐
- 
                        2、 - 优质文章
- 
                        3、 gate.io
- 
                        8、 openharmony
- 
                        9、 golang