步数计数器不会重置步数

Mic*_*ael 6 android counter reset android-sensors

我可以Sensor.TYPE_STEP_COUNTER通过注册和取消注册监听器来启动和停止录制步骤.

但是,在SensorEvent销毁应用程序时,通过对象传递给我的应用程序的实际值不会重置为零.如果我关闭应用程序并重新启动它,或者即使我使用更新重新编译我的应用程序,计数器也会从中断处继续.

如果我运行其他使用步数计数器传感器的应用程序,他们会独立计算步数并重置计数器.

传感器是否具有应用特定的缓存?将传感器重置为零步的正确方法是什么?

And*_* T. 20

来自Android Sensor API:

public static final int TYPE_STEP_COUNTER

这种类型的传感器返回用户自上次重启后激活时所采取的步数.该值以float形式返回(小数部分设置为零),并且仅在系统重新引导时重置为零.

(强调我的)

如您所见,当传感器被激活时,该值将继续增加而不会重置为零,直到系统重新启动.

如果您希望每次启动应用程序时从0开始计数,您可以将返回的第一个值存储为初始值,然后通过它减去后续值.