Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/431.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 设备运动不';设备锁定时,似乎无法注册_Javascript_Android_Mobile - Fatal编程技术网

Javascript 设备运动不';设备锁定时,似乎无法注册

Javascript 设备运动不';设备锁定时,似乎无法注册,javascript,android,mobile,Javascript,Android,Mobile,我有以下代码,当(移动)设备被轻轻推动时会发出嘟嘟声: let audio = new Audio('ack.mp3'); function handleMotionEvent(event) { let x = event.accelerationIncludingGravity.x; let y = event.accelerationIncludingGravity.y; if (Math.abs(x) + Math.abs(y) > 2.2) { au

我有以下代码,当(移动)设备被轻轻推动时会发出嘟嘟声:

let audio = new Audio('ack.mp3');

function handleMotionEvent(event) {
  let x = event.accelerationIncludingGravity.x;
  let y = event.accelerationIncludingGravity.y;    

  if (Math.abs(x) + Math.abs(y) > 2.2) {
    audio.play();
  }
}

window.addEventListener("devicemotion", handleMotionEvent, true);

它可以正常工作,但当设备被锁定时,它根本不能工作。当设备锁定时,有什么方法可以检测到这种情况吗?

似乎您必须为该操作获取部分唤醒锁定。 PowerManager类

PowerManager pm = (PowerManager)getSystemService(POWER_SERVICE);
PowerManager.WakeLock lock = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK,  "SensorRead");
lock.acquire();
window.addEventListener("devicemotion", handleMotionEvent, true);
AndroidManifest.xml
中还需要此权限:

 <uses-permission android:name="android.permission.WAKE_LOCK" />