我目前正在创建一个检测用户是坐着还是站着的 webapp。我在检测设备倾斜、更改布尔变量并将正确数据发送到图表方面取得了巨大成功。
以下代码在后台完美运行,每秒更新一次数据。
var trackInterval = setInterval(function(){
if(isSitting){
addData(myPieChart, "Sitting");
} else{
addData(myPieChart, "Standing");
}
}, 1000)
我的问题是,一旦浏览器关闭,更改变量“isSitting”的监听功能就不会继续。这意味着“isSitting”的最后一个值会添加数据,即使设备可能会倾斜。
这是创建加速度计更新的代码:
window.addEventListener("devicemotion", accelerometerUpdate, true);
var isSitting = true;
function accelerometerUpdate(event) {
var aX = event.accelerationIncludingGravity.x * 100 ;
var aY = event.accelerationIncludingGravity.y * 100 ;
var aZ = event.accelerationIncludingGravity.z * 100 ;
if (aY > 600 || aY < -900 ){
isSitting = false;
} else{
isSitting = true;
}
}
我在我的 Android 设备上尝试过 Chrome、Opera 和 Firefox。
任何解决此问题的帮助或提示将不胜感激