我想检测手机何时运动,但不是所有类型的动作。例如拿起或挥动手机不应该触发。
我希望理想情况下,当手机/人在>时运行代码“行走”状态。我有什么选择?
答案 0 :(得分:2)
您可以在拥有它们的手机中使用加速度计和数字指南针的组合来确定速度和方向。
如果你需要做的就是确定这个人是否在行走,你所需要的只是加速度计。只需处理脚步的输出。
网上有很多教程可以用加速度计检测脚步。
答案 1 :(得分:0)
您还可以从Wifi-Networks和Cell Towers获取您的位置。 Android中的所有位置提供程序都是android.location.LocationProvider的子类。这可能是一个很好的起点。我不知道其中任何一个对你来说都是最好的,因为它们的“范围”可能是几百英尺宽。
答案 2 :(得分:0)
Android加速度计为我们提供了使用SensorEvent类了解加速度的功能。因此,使用类的对象,并处理onSensorChanged(),以确定设备中的移动。
x = sensorEvent.values [0]; 说明x方向的加速度。
所以你可能感兴趣的是,找到x,y和z方向的加速度,并尝试计算最后10个样本的平均值和标准差。 处理标准偏差肯定会让您到达正确的位置!如果它变为0,则表示设备仍然存在。如果SD> 0.5超过15秒左右......这意味着设备不断移动! Lemme知道你是否需要更多的帮助!
干杯, 尼西