1

我想检测用户是否在移动 - 无论是行走还是跳跃

我找到了这个代码示例

private final SensorEventListener sensorEventListener = new SensorEventListener() {
        double calibration = SensorManager.STANDARD_GRAVITY;

        public void onAccuracyChanged(Sensor sensor, int accuracy) {
        }

        public void onSensorChanged(SensorEvent event) {
            double x = event.values[0];
            double y = event.values[1];
            double z = event.values[2];

            double a = Math.round(Math.sqrt(Math.pow(x, 2) + Math.pow(y, 2)
                    + Math.pow(z, 2)));
            currentAcceleration = Math.abs((float) (a - calibration));

它给出的读数在 0.01 到 0.2 G 之间——我可以用这个例子来检测运动吗?也许有点跑题了?- 抱歉,如果是的话!

4

1 回答 1

0

您需要制作一个 LOG 文件并写入所有更改的数据以制作您的简单算法

  1. 您不需要像 0.000000001 这样的超深细节检测,只需要像检测 2 个浮点

    整数估计X = (int)(x*100);

  2. 当它在 0.75 到 0.80 的大范围内移动时保持日志(如果你问我们如何知道范围,是的,你需要走过去看看)

  3. 继续走

于 2012-09-11T05:06:23.417 回答