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()
HarmonyOS
赞
收藏 0
回答 1
待解决
相关问题
如何读取运动传感器比如加速度传感器
2254浏览 • 1回复 待解决
sensor (传感器)设置传感器上报频率失败。
1223浏览 • 1回复 待解决
重力传感器相关问题咨询
754浏览 • 1回复 待解决
HarmonyOS 传感器判断屏幕方向
376浏览 • 1回复 待解决
HarmonyOS 计步传感器相关问题咨询?
470浏览 • 1回复 待解决
Sensor 步数传感器后台情况
954浏览 • 1回复 待解决
HarmonyOS 计步器传感器后台不工作
375浏览 • 1回复 待解决
HarmonyOS 如何通过传感器数据计算朝向信息
441浏览 • 1回复 待解决
HarmonyOS重力传感器接口在模拟器上crash
447浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何使用TaskPool进行长时间传感器监测任务?
429浏览 • 1回复 待解决
HarmonyOS 如何通过传感器获取设备方向
466浏览 • 1回复 待解决
如何保证振弦传感器的测量精度?
3712浏览 • 0回复 待解决
获取加速度传感器的方法
786浏览 • 1回复 待解决
HarmonyOS 订阅气压计传感器数据页面闪退
441浏览 • 1回复 待解决
HarmonyOS 传感器是否有主动获取当前步数值的api,目前的api都是通过on监听回调,时效性低
201浏览 • 1回复 待解决
什么是智能振弦传感器的电子标签?
3605浏览 • 0回复 待解决
HarmonyOS 摇一摇功能实现缺少距离传感器监听
306浏览 • 1回复 待解决
鸿蒙SENSOR_TYPE_DEVICE_ORIENTATION设备方向传感器不能使用问题
7032浏览 • 1回复 待解决
HarmonyOS 长按事件,触发之后的Repeat,无法设置回调间隔
543浏览 • 1回复 待解决
读取振弦传感器频率为什么会有差异?
3522浏览 • 0回复 待解决
HarmonyOS 获取陀螺仪传感器数据报Permission denied
418浏览 • 1回复 待解决
HarmonyOS Rotation Vector传感器数据如何通过js接口获取
571浏览 • 1回复 待解决
用手机控制不wifiiot开发板问题,可燃气传感器也不响
6939浏览 • 2回复 待解决
订阅接近光传感器只出一次数据
2133浏览 • 1回复 待解决
HarmonyOS 传感器注册的callback是否都是在子线程中执行
273浏览 • 1回复 待解决
每个传感器的回调间隔是有范围的,首先用某个传感器要用hidumper -s 3601 -a -l命令查询一下对应传感器的回调间隔范围,如果小于最小值,会默认给个最小值;如果大于最大值,会默认给个最大值