众所周知,许多安卓手机在屏幕熄灭时会关闭加速度计。然而,Android Fit(应用程序)似乎发生了一些变化。即使屏幕熄灭,Fit 也会继续计算步数。如果安装了 Fit,则会在 Fit 环境中引发用于计步的事件,我可以使用以下方法捕获它们
Fitness.SensorsApi.findDataSources(mClient, new DataSourcesRequest.Builder()
.setDataTypes(DataType.TYPE_STEP_COUNT_CUMULATIVE)
我已经在三星 S4 和一加一上对此进行了测试,在这两种情况下,步骤都被计算在内。他们是怎么做到的?他们使用哪些 Android 类?我的理解是自Kitkat以来引入的可用方法是实现一个SensorEventListener。例如 theelfismike 提供了实现这个的代码。然而,在许多手机上,当屏幕熄灭时计步会停止。有趣的是,如果安装了 Google Fit 应用程序,计数似乎不会停止(因此我猜他们会保持加速度计开启)。
我错过了什么吗?凡人程序员可以使用屏幕关闭后保持计数步骤的功能吗?谢谢!