Cordova Accelerometer插件观察加速问题

时间:2016-03-22 13:43:37

标签: javascript cordova cordova-plugins

我一直在尝试使用Cordova的Accelerometer插件,并且有一个问题,到目前为止我一直无法修复Android。在motionID方法中使用clearWatch来暂停watchAcceleration

可在此处找到更多信息cordova-plugin-device-motion docs

var motionID = null;


function startAccelerometer() {
var refreshRate = {
    frequency: 50
};
motionID = navigator.accelerometer.watchAcceleration(
    gotMotion, onMotionError, refreshRate);
}

然后使用clearWatch()函数停止它,我打电话

function stopAcclererometer() {

navigator.accelerometer.clearWatch(motionID);
$("#acclData").empty();
}

问题似乎是clearWatch如果多次调用startAccelerometer(),或者在没有先清除它的情况下创建新的motionID,则不会清除motionID。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

这是一个相当简单的修复,但我仍然想知道是否有更清洁的方法来解决问题。我设法通过在混合中附加一个简单的计数来解决它,如果已达到条件则退出,即按下Start,然后在Stopped时清除计数。

if (count > 0) {
        return;
    } else if (count === 0) {
        startAccelerometer();
    }
});