我可以使用以下命令开始和停止记录步骤Sensor.TYPE_STEP_COUNTER
通过注册和取消注册侦听器。
但是,通过传递给我的应用程序的实际值SensorEvent
当应用程序被销毁时,对象不会重置为零。如果我关闭应用程序并重新启动它,或者即使我使用更新重新编译应用程序,计数器也会从上次停止的位置开始。
如果我运行其他使用计步器传感器的应用程序,它们会独立计算步数并重置计数器。
传感器是否具有特定于应用程序的缓存?将传感器重置为零步数的正确方法是什么?
From Android 传感器 API http://developer.android.com/reference/android/hardware/Sensor.html#TYPE_STEP_COUNTER:
公共静态最终 int TYPE_STEP_COUNTER
这种类型的传感器返回激活时用户自上次重新启动以来所采取的步数。该值以浮点形式返回(小数部分设置为零),并且是仅在系统重新启动时重置为零.
(Emphasis mine)
正如您所看到的,当传感器被激活时,该值将不断增加而不会重置为零,直到系统重新启动。
如果希望每次启动应用程序时都从 0 开始计数,可以将返回的第一个值存储为初始值,然后减去后续值。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)