Android Linear Acceleration
加速度计能否检测到设备的移动(例如,如果我向上、向下、向左或向右拖动设备)?请提供示例实现。
加速度计和陀螺仪可以检测设备在 3 个轴上的angular和加速度。
由于加速度本身并不能告诉你速度和距离,所以你可以知道它们。
但是如果你知道设备的速度当前为 0,并且它开始加速,你可以通过基本的物理方程知道它的速度和距离:
您跟踪设备加速度。让跟踪分辨率为毫秒。所以每毫秒,
请注意,您必须确定加速度、速度和距离的方向,这将是 Vector3。然后使用一些数学转换将当前的加速度矢量转换为您的方向。我建议与地球相比,方向将是平坦的。让事情变得更容易。
这可以用来判断设备是否正在移动( 加速度计检测加速度,而不是恒定运动。因此,您的加速度计会在启动和停止时检测到运动,但无法告诉您设备移动了多远。 在 Android 开发者网站上有一个很好的例子,说明如何从常规 Sensor.TYPE_ACCELEROMETER 计算线性加速度: http://developer.android.com/reference/android/hardware/SensorEvent.html#values
请看这个帖子:Android TYPE_LINEAR_ACCELERATION 传感器 - 它显示什么?
我使用加速度计检测设备的速度、运动。但是我在使用 LINEAR_ACCELEROMETER 传感器时遇到了麻烦。
无论如何,在起点没有校准就无法计算运动。