Android可穿戴设备上的活动识别

5
我正在研究如何使用安卓智能手表进行活动识别。目前,我的重点是检测用户是在走路还是静止。我的第一个想法是使用内置步数计,但后来我发现了Android活动识别API(我对Android相对较新^^),它似乎只用于移动应用程序。
现在,我困在回答以下问题上:
  • 当前的API是否已经利用连接的可穿戴设备?(例如自动访问内置可穿戴传感器)
  • 是否有适用于Android Wear的单独API?
  • 是否有其他关于如何使用可穿戴设备进行活动识别的最佳实践?(尤其是行走和静止)
  • 在我的研究中,我已经尝试了以下事情:
    • 阅读Android活动识别指南
    • 阅读this article 关于谷歌的活动识别API
    • 实现一个简单的Android Wear应用程序,该应用程序使用当前的Activity Recognition API。我在我的LG G Watch上测试了该应用程序,但没有成功。看起来我可以连接到ActivityRecognitionClient,但我从未收到任何活动更新。我在Nexus 5上尝试了相同的代码-一切都正常。
    • 阅读this post 关于Google Play服务。在这里,作者认为“...我们喜欢Activity Recognition API适用于Android Wear,因为我们始终认为位置跟踪技术是此类功能的出色支持...”。所以根据这个,有一个单独的API,对吗?

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

    2个回答

    2

    您问:

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

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

    Android Wear有单独的API可用吗?

    有。Google提供了一个不同的Google Play服务库或可穿戴设备,您可以在编译依赖项中看到它们;

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

    vs

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

    所以,当你在第一个Moto360应用程序中测试API时,实际上导入了面向手持设备的play服务库,而不是面向可穿戴设备的版本。常量"ActivityRecognition.API"未包含在客户端API的可穿戴版本中。
    有没有其他关于如何使用可穿戴设备进行活动识别的最佳实践?(特别是行走和静止)
    一种方法是使用原始加速度计数据来检测运动。很容易检测到设备完全不动,但要检测其他任何事情都不是微不足道的。
    如果愿意,您可以将传感器数据从可穿戴设备推送到手持设备进行处理。如果需要,可以联系我获取相关代码。我不想发布它,因为它与问题无关。
    我猜谷歌未来会在手持设备上包含此API。花费大量时间"自己开发"可能存在风险...

    0

    很遗憾,活动识别API尚未在可穿戴设备上实现。当我在我的Motorola Moto 360(带有“4.4W 2”)上测试了一个简单的ActivityRecognitionClient API示例程序时,我收到了一个在logcat流中指示的消息。


    谢谢您的评论,我会在Moto360上尝试我的应用程序,也许我会遇到与您相同的错误。 - Phil
    你是否已经尝试过,现在Android 5.0.1应该已经推送到你的Moto 360了? - Mike
    情况在5.0.1上仍然是一样的。 - appetite
    有没有关于Android Wear Android版本中确切可用和不可用的文档?我正在努力查找是否整个Android 5.0.1 SDK都可以在可穿戴设备上使用,或者我是否会遇到这些问题... - Glenn Bech
    Android Wear 2.0将在可穿戴设备上提供活动识别功能。 请点击此处查看公告 - hendra

    网页内容由stack overflow 提供, 点击上面的
    可以查看英文原文,
    原文链接