无法通过我的应用程序从 Sony Smartband2 检索 STEP_COUNT

Unable to retrieve STEP_COUNT via my app from Sony Smartband2

这不是一个重复的问题,因为所有其他问题都涉及 REST Api 或从应用所在的设备(通常是 phone)检索步数 运行.它也不同于 android 佩戴问题,因为不能为 Smartband2 构建单独的应用程序。

我想获取心率和步数。我可以通过 BLE Api

成功获取心率

然而,对于步数,我遇到了很多麻烦。 我知道获取步数的最佳方法是通过 Google Fit API。 我尝试使用 Sensor Api,但只有应用 运行 所在的 phone 被列为数据源。 在使用 Google fit BLE Api 时,仅当我搜索 TYPE_HEART_RATE_BPM 时才会检测到频带,但在 TYPE_STEP_COUNT_CUMULATIVE 或 TYPE_STEP_COUNT_DELTA

时不会检测到

根据 noogui here 的评论,我知道我必须使用录音和历史记录 Api。

另一方面,有一个选项可以根据之前发布的类似问题创建Additional Sensor

我现在完全不知道该怎么做。

TLDR:有人可以列出我从 Smartband2 获取步数数据所需的步骤和 API 吗?举个例子会很有帮助。

SmartBand2 将步数数据与 phone 中的步数计数器进行匹配,以提供更准确的读数,因此您无法从传感器 API 获得步数增量或节奏。您可以尝试使用 LifeLog SDK(我没有尝试过,但看起来您可以将其用于半实时传感器数据)或从历史记录 API.

中获取步骤数据

在您抱怨没有获得实时数据之前,让我先说一下,我正在使用来自不同制造商的大量测试设备,而 SmartBand 2 拥有其中最干净、最准确的数据流。缺乏实时步数是一个痛苦,但大多数乐队无论如何都不会提供,而我所知道的那些在其他方面都被证明是定价过高的垃圾。

我可以使用以下方法获取心率和步数数据:

  1. 将 Smartband2 与官方 Sony Smartband2 应用配对。
  2. 在应用程序中:设置 -> Google 适配 -> 打开
  3. 编写一个使用 Google Fit 的历史记录 api 的应用程序。示例:https://github.com/googlesamples/android-fit/tree/master/BasicHistoryApi
  4. 每分钟获取最近十分钟的心率和步数数据

不需要 Ble api 或其他额外的原始传感器创建。