我想知道是否可以使用Android手机的加速度计和/或陀螺仪来检测高度的变化。例如,我是否能够检测到我是在开车/步行上山还是在山上? 我想在一段时间内记录任何轻微的手机动作,然后用这些数据计算出那段时间内的平均上/下动作。我只是不知道传感器是否准确到足以告诉我至少一般的方向(即我是上山还是下山)。 此外,如果我走路,那么我知道肯定会检测到运动,但是如果我在山上开车,我会检测到任何运动(假设我坐在车里)吗?
答案 0 :(得分:0)
检测活动已经是Android操作系统的内置功能。我为此库做出了贡献,以便轻松获取检测到的活动:https://github.com/mcharmas/Android-ReactiveLocation/
它可以检测状态
返回检测到的活动以及0到100之间的置信度。https://developer.android.com/reference/com/google/android/gms/location/DetectedActivity.html
关于你关于海拔高度的问题,我不太确定。我最近读了一篇论文,其中作者试图创建一个隐马尔可夫模型来检测上面的一些活动,包括走上楼梯。他们遇到的问题是步行/上下楼梯之间很难区分。
我担心检测高度的尝试充其量只是相当不准确。
另一个选择可能是使用GPS,但由于不准确,需要特别小心:Android: How to get accurate altitude?