检测手机抖动

时间:2013-12-15 23:56:47

标签: javascript android cordova detect shake

我正在Android上开发震动检测,我无法处理一个问题 - 旋转手机。我的算法检测到正确的抖动,但它也会反应旋转。

看起来像这样:

//for every second
if(!alarmed) {
    if(Math.abs(oldX - acceleration.x) > threshold || 
    Math.abs(oldY - acceleration.y) > threshold || 
    Math.abs(oldZ - acceleration.z) > threshold) {
        // shake detected
    }
}

oldX = acceleration.x;
oldY = acceleration.y;
oldZ = acceleration.z;

这是JavaScript,因为我用Cordova写的。

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:2)

几个小时后,我想出了解决方案:

我们不应将所有三个加速度维度与阈值进行比较,而应将三者的与(修改的)阈值进行比较。它可以防止对旋转做出反应。