sensor (传感器)设置传感器上报频率失败。?

sensor (传感器) 设置传感器上报频率失败。预期设置上报频率时间为 10s 上报一次,但无法生效,触发频率很高。所有传感器都是一样问题。复现代码如下:

// 传感器数据
@State sensorResponse: sensor.AccelerometerResponse | null = null
aboutToAppear(): void {
  this.listenSensor()
}

aboutToDisappear(): void {
  this.removeSensor()
}

// 监听传感器
listenSensor() {
  try {
    sensor.on(sensor.SensorId.ACCELEROMETER, (data) => {
      this.sensorResponse = data
    }, { interval: 10 * 1e9 }) // 设置时间为 10s 上报一次,但无法生效,触发频率很高
  } catch (error) {
    AlertDialog.show({ message: JSON.stringify(error) })
  }
}

// 停止监听
removeSensor() {
  try {
    sensor.off(sensor.SensorId.ACCELEROMETER)
  } catch (error) {
    AlertDialog.show({ message: JSON.stringify(error) })
  }
}
// 打印测试

Text('传感器数据:' + JSON.stringify(this.sensorResponse))
阅读 773
1 个回答

用户调用on接口订阅传感器数据之前,要先获取设备支持的数据上报频率范围,可以使用getSensorList或者getSingleSensor查询传感器信息获得。如果设置的频率范围超过设备支持的频率,那么会以支持的频率上报。

参考文档如下:

sensor.getSensorList9+

Sensor9+

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进