1

最近我尝试制作一个应用程序来计算用户步数。并且遇到了 Android 4.4 中引入的步数和检测器。但我找不到每小时计步的方法。我是新手,任何指导将不胜感激

我在这个https://developer.android.com/reference/android/hardware/SensorManager.html#registerListener(android.hardware.SensorEventListener , android.hardware.Sensor, int)上找到了

编辑第三个参数时,我可以在执行以下 boolean registerListener (SensorEventListener listener, Sensor sensor, int samplingPeriodUs) 时指定延迟

但它接受以毫秒为单位的值并将一小时转换为毫秒会给出一个非常大的 int 值。任何人都可以指导如何处理它

4

1 回答 1

1

您正在寻找的是Sensor Batching

这使您即使不保持设备唤醒也能获得连续的传感器数据。它基本上将传感器事件存储在芯片本身的基于硬件的队列中,并且仅以预定义的间隔分批将它们发送到您的应用程序(服务,..)。这使您可以进行 24/7 全天候监控,而不会显着耗尽电池电量。请注意,只有受支持的芯片组才能做到这一点(您可以在 Android 文档中找到详细信息),如果是旧手机,您需要回退到可怕的唤醒锁保持方法才能获取您的数据。资源

还有示例如何使用BatchStepSensor

于 2016-11-30T20:33:38.947 回答