我一直在使用Google的ActivityRecognitionApi来尝试确定何时移动Android设备。在我尝试过的大多数设备上都给出了相当不错的结果。但在某些设备上,我主要得到一个“静止”的活动,有一些“倾斜”和“未知”。
我认为ActivityRecognitionApi的这种不良性能是由于设备上可用的传感器,因为ActivityRecognitionApi使用这些传感器,来自文档:
通过定期唤醒设备并读取短时间传感器数据来检测活动。它仅使用低功率传感器以将功率使用保持在最低限度。
我希望能够做的是,对于任何给定的设备,我是否可以依赖ActivityRecognitionApi。
再次在文档中说
为了节省电量,当设备长时间“静止”时,活动报告可能会停止。一旦设备再次移动,它将恢复。这仅在支持Sensor.TYPE_SIGNIFICANT_MOTION硬件的设备上发生。
这清楚地表明支持Sensor.TYPE_SIGNIFICANT_MOTION的设备是相关的,但至少对我而言,这个传感器实际上需要提供良好的活动识别结果。
那么确定设备是否会提供良好的活动识别结果的最佳方法是什么?
除了有趣(至少对我而言)外,我特别喜欢以下结果:
activity: unknown
activity_confidence: 50%