HarmonyOS 计步器传感器后台不工作

灭屏后,无数据返回

PEDOMETER_DETECTION 传感器灭屏后可以工作,灭屏后不工作PEDOMETER

HarmonyOS
2024-12-27 18:23:12
浏览
收藏 0
回答 1
回答 1
按赞同
/
按时间
put_get

长时任务中不支持记步,但是根据应用的场景,可以申请定位导航的长时任务,在定位坐标回调里面,用单次读取接口sensor.once()去读取记步数据。

部分代码如下

startGeoLocation() {
  // 申请通知
  notificationManager.requestEnableNotification().then(() => {
    let requestInfo: geoLocationManager.LocationRequest = {
      'priority': geoLocationManager.LocationRequestPriority.FIRST_FIX,
      'scenario': geoLocationManager.LocationRequestScenario.UNSET,
      'timeInterval': 0,
      'distanceInterval': 0,
      'maxAccuracy': 0
    };
    let locationChange = (location: geoLocationManager.Location): void => {
      console.log('locationChanger: data: ' + JSON.stringify(location));
      this.once()
    };
    try {
      geoLocationManager.on('locationChange', requestInfo, locationChange);
    } catch (err) {
      console.error('errCode:' + (err as BusinessError.BusinessError).code + ',errMessage:' + (err as BusinessError.BusinessError).message);
    }
  })
}

once() {
  try {
    sensor.once(sensor.SensorId.PEDOMETER, (data: sensor.PedometerResponse) => {
      console.info('Succeeded in invoking once. Step count: ' + data.steps);
    });
  } catch (error) {
    let e: BusinessError.BusinessError = error as BusinessError.BusinessError;
    console.error(`Failed to invoke once. Code: ${e.code}, message: ${e.message}`);
  }
}
  • 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.
分享
微博
QQ
微信
回复
2024-12-27 19:35:55
相关问题
Sensor 步数传感器后台情况
1408浏览 • 1回复 待解决
HarmonyOS 传感器判断屏幕方向
799浏览 • 1回复 待解决
重力传感器相关问题咨询
1215浏览 • 1回复 待解决
HarmonyOS 计步传感器相关问题咨询?
914浏览 • 1回复 待解决
HarmonyOS 传感器回调时间间隔问题
740浏览 • 1回复 待解决
HarmonyOS 如何通过传感器获取设备方向
1004浏览 • 1回复 待解决
如何保证振弦传感器的测量精度?
4154浏览 • 0回复 待解决
获取加速度传感器的方法
1281浏览 • 1回复 待解决
什么是智能振弦传感器的电子标签?
4045浏览 • 0回复 待解决
订阅接近光传感器只出一次数据
2624浏览 • 1回复 待解决