3

所以我正在为android编写一个健身应用程序。我正在使用 Google fit API 来计算步数。当应用程序在后台时,我正在使用 Recording API 来计算步数。一旦应用程序处于前台,我将使用 History API 获取步数以将其显示在屏幕上。发生的情况是计数不正确。在您获得正确和更新的计数之前存在延迟。更具体地说,没有数据丢失。我猜 Recording API 正在以特定的时间间隔更新。

我还使用 Sensors API 来显示我的 Activity 运行时的实际计数。所以会发生什么,例如,您在屏幕上看到 300 步(实时数据)。关闭应用程序,再次打开它,然后在下一分钟,您会看到例如 250 步。并且只有在一段时间后,History API 才能捕获正确的数据并再次显示 300。

有没有人找到解决这个问题的方法?

谢谢你,很抱歉这么长的文字!

4

1 回答 1

2

你是对的。录制 API 需要一些时间来更新。我想到了两种方法。

  1. 始终通过 History API 获取步骤。我的意思是当活动运行时只是增加历史 API 的检查率。这样做的好处是虽然它需要一些时间,但用户总是相同的计数。
  2. 另一种方式更复杂一些。随时间存储您的传感器步数并应用一些逻辑,无论您是否需要添加并显示给用户。

对不起,很长的文字。

于 2016-01-18T09:14:49.667 回答