[英]Is it possible, in JavaScript, to detect when the screen is turned off in the Android & iOS browsers
[英]Is it possible to detect motion when screen is off?
我的应用程序只需要在屏幕关闭时检测设备的任何动作。
我知道加速度计用于此任务,但在所有设备中屏幕关闭时它不起作用。 这是设备列表http://www.saltwebsites.com/2012/android-accelerometers-screen-off
那么有什么方法可以在屏幕关闭时获取加速计传感器数据,适用于所有设备?
或者有没有办法用另一个传感器检测运动?
在屏幕关闭时,只需要Partial Wake Lock
即可访问加速度计读数。
你可以像这样使用它:
private PowerManager.WakeLock mWakeLock;
PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
mWakeLock = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "My Tag");
mWakeLock.acquire();
完成后,只需释放锁:
mWakeLock.release();
如果您在Service
获得加速度计数据,则可以简单地获取其onCreate()
并在onDestroy()
释放。
当屏幕关闭时,CPU进入睡眠状态,如果不进行部分唤醒锁定,则无法捕获事件。 我建议你在调用onPause并在onResume上释放时使用部分唤醒锁。 小心唤醒唤醒锁,它们会让你的手机耗尽大量的能量,你应该仔细管理它们。
PS:你必须在onPause方法中获取唤醒锁,因为如果你试图在其他地方调用它,你可能无法获得它,因为CPU可能已经被关闭了。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.