5

我正在研究如何使用安卓智能手表进行活动识别。目前,我专注于检测用户是在行走还是静止不动。我的第一个想法是使用内置的计步器,但后来我遇到了 Android Activity Recognition API(我对 Android 比较陌生^^),它似乎只用于移动应用程序。

我现在坚持回答以下问题:

  • 当前的 API 是否已经在使用连接的可穿戴设备?(例如自动访问内置的可穿戴传感器)
  • 是否有可用于 Android Wear 的单独 API?
  • 关于如何使用可穿戴设备进行活动识别,还有其他最佳实践吗?(尤其是走路和站着不动)

在我的研究中,我已经尝试过以下事情:

  • 通读 Android Activity Recognition Guide
  • 通读这篇关于 Google 的 Activity Recognition API 的文章
  • 实现一个使用当前 Activity Recognition API 的简单 Android Wear 应用程序。我在我的 LG G Watch 上测试了该应用程序,但没有成功。似乎我可以连接到 ActivityRecognitionClient 但我从未收到任何活动更新。我在 Nexus 5 上尝试了相同的代码 - 一切正常。
  • 通读这篇关于 Google Play 服务的文章。在这里,作者就像“......我们喜欢Android Wear的 Activity Recognition API ,因为我们一直认为位置跟踪技术是此类功能的重要支柱......”。所以根据这个,有一个单独的API,对吧?

我将非常感谢你们提供的任何有用信息。在我看来,一件很酷的事情(见第一个问题)是在手机不确定当前用户的活动时自动检测连接的可穿戴设备并使用其传感器来提高准确性。

4

2 回答 2

2

你问

当前的 API 是否已经在使用连接的可穿戴设备?(例如自动访问内置的可穿戴传感器)

不,这没有意义吗?可穿戴设备和手持设备并不总是同时携带;手表可以移动,而手持设备仍然可以。(反之亦然)我不确定组合测量的价值是多少。

是否有可用于 Android Wear 的单独 API?

是的。google 提供不同的 Google Play Services 库或可穿戴设备,您可以在编译依赖项中看到它;

compile'com.google.android.gms:play-services-wearable:6.5.87'

对比

compile 'com.google.android.gms:play-services:6.5.87'

因此,当您在第一个 Moto360 应用程序中测试 API 时,您实际上导入了用于手持设备而不是可穿戴版本的播放服务库。客户端 API 的可穿戴版本中不包含常量“ActivityRecognition.API”。

关于如何使用可穿戴设备进行活动识别,还有其他最佳实践吗?(尤其是走路和站着不动)

一种方法是使用原始加速度计数据来检测运动。检测设备根本没有移动是相当容易的,检测其他任何东西都不是微不足道的。

如果您愿意,您可以将传感器数据从可穿戴设备推送到手持设备上进行处理。如果您想要一些代码来显示这一点,请联系我。我不想发布它,因为它与问题无关。

我的猜测是 Google 将来会在手持设备上包含这个 API。花很多时间“自己动手”可能是一种风险......

于 2015-02-13T14:44:09.687 回答
0

不幸的是,活动识别 API 尚未在 Wear 设备上实现。当我在我的摩托罗拉 Moto 360(带有“4.4W 2”)上测试一个简单的 ActivityRecognitionClient API 示例程序时,我在 logcat 流上收到了一条消息。

于 2014-11-20T23:28:55.767 回答