HarmonyOS 传感器回调时间间隔问题
使用传感器 API 获取气压时,传入的回调间隔是 1s(1000 * 1000 * 1000),但实际回调间隔远小于 1s,大概是 0.1s
完整代码如下:
import { sensor } from '@kit.SensorServiceKit';
import Logger, { TAG_OT } from '../../manager/Logger';
import { SECOND_IN_NANOS, SECOND_IN_MILLIS } from '../../utils/DateUtils';
/**
* 通过传感器获取气压
*/
class PressureSensorManager {
lastPressure = 0
lastPressureTimestamp = 0
/**
* 开启气压监听
*/
startSensor(): Promise<void> {
Logger.i(TAG_OT, `PressureManager: start sensor`)
return new Promise((resolve, reject) => {
try {
sensor.on(
sensor.SensorId.BAROMETER,
(response: sensor.BarometerResponse) => {
this.onPressorChange(response)
},
{ interval: TIME_INTERVAL }
)
resolve()
} catch (error) {
reject()
Logger.e(TAG_OT, `start pressure sensor error: ${JSON.stringify(error)}`)
}
})
}
/**
* 关闭气压监听
*/
stopSensor() {
sensor.off(sensor.SensorId.BAROMETER)
Logger.i(TAG_OT, `stop pressure sensor`)
}
private onPressorChange(response: sensor.BarometerResponse) {
this.lastPressure = response.pressure
this.lastPressureTimestamp = Date.now()
Logger.d(TAG_OT, `on pressure change. pressure: ${response.pressure}`)
}
}
// 传感器回调间隔,纳秒
const TIME_INTERVAL = 1000 * 1000 * 1000
export default new PressureSensorManager()
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
- 22.
- 23.
- 24.
- 25.
- 26.
- 27.
- 28.
- 29.
- 30.
- 31.
- 32.
- 33.
- 34.
- 35.
- 36.
- 37.
- 38.
- 39.
- 40.
- 41.
- 42.
- 43.
- 44.
- 45.
- 46.
- 47.
- 48.
- 49.
- 50.
- 51.
- 52.
- 53.
- 54.
HarmonyOS
赞
收藏 0
回答 1
相关问题
sensor (传感器)设置传感器上报频率失败。
1699浏览 • 1回复 待解决
如何读取运动传感器比如加速度传感器
2972浏览 • 1回复 待解决
重力传感器相关问题咨询
1224浏览 • 1回复 待解决
HarmonyOS 计步传感器相关问题咨询?
925浏览 • 1回复 待解决
HarmonyOS 传感器判断屏幕方向
814浏览 • 1回复 待解决
Sensor 步数传感器后台情况
1425浏览 • 1回复 待解决
HarmonyOS 计步器传感器后台不工作
790浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何使用TaskPool进行长时间传感器监测任务?
785浏览 • 1回复 待解决
HarmonyOS重力传感器接口在模拟器上crash
940浏览 • 1回复 待解决
HarmonyOS 如何通过传感器数据计算朝向信息
973浏览 • 1回复 待解决
HarmonyOS 如何通过传感器获取设备方向
1021浏览 • 1回复 待解决
如何保证振弦传感器的测量精度?
4177浏览 • 0回复 待解决
获取加速度传感器的方法
1290浏览 • 1回复 待解决
HarmonyOS 传感器是否有主动获取当前步数值的api,目前的api都是通过on监听回调,时效性低
425浏览 • 1回复 待解决
HarmonyOS 订阅气压计传感器数据页面闪退
942浏览 • 1回复 待解决
传感器服务在HarmonyOS应用中的使用问题及解决方案探讨
319浏览 • 0回复 待解决
鸿蒙SENSOR_TYPE_DEVICE_ORIENTATION设备方向传感器不能使用问题
7562浏览 • 1回复 待解决
HarmonyOS 摇一摇功能实现缺少距离传感器监听
802浏览 • 2回复 待解决
HarmonyOS 长按事件,触发之后的Repeat,无法设置回调间隔
894浏览 • 1回复 待解决
什么是智能振弦传感器的电子标签?
4054浏览 • 0回复 待解决
HarmonyOS 获取陀螺仪传感器数据报Permission denied
865浏览 • 1回复 待解决
HarmonyOS Rotation Vector传感器数据如何通过js接口获取
1006浏览 • 1回复 待解决
读取振弦传感器频率为什么会有差异?
3992浏览 • 0回复 待解决
用手机控制不wifiiot开发板问题,可燃气传感器也不响
7489浏览 • 2回复 待解决
HarmonyOS 传感器注册的callback是否都是在子线程中执行
739浏览 • 1回复 待解决
每个传感器的回调间隔是有范围的,首先用某个传感器要用hidumper -s 3601 -a -l命令查询一下对应传感器的回调间隔范围,如果小于最小值,会默认给个最小值;如果大于最大值,会默认给个最大值