我希望在我的应用程序处于打开状态且在前台时阻止手机显示屏关闭。
是否有API可以这样做?
答案 0 :(得分:4)
前一段时间我在dev-webapps邮件列表上问similar question。 Frédéric是正确的,因为你可以使用navigator.requestWakeLock('screen')
来获得锁定,但是你总是需要释放锁定是一个神话。
要对上述问题的回复之一进行评论:
您无权通过用户离开或保持锁定 关闭应用程序。锁定将自动[释放]给你。我们甚至会 当用户将应用程序从后台带回来时重新获取锁定 无需这样做
我已在托管应用和打包应用中对此进行了测试,这正是它的工作原理。因此,如果您打算在应用程序打开时保持屏幕锁定,那么您所要做的就是将其添加到您的应用程序中:
navigator.requestWakeLock('screen');
但是,如果要为用户提供设置选项以防止应用程序锁定,则需要保留对锁定的引用,并在用户更改设置后立即将其释放。你还是好的。您可以找到有关requestWakeLock
on MDN。
答案 1 :(得分:3)
您可以使用requestWakeLock函数通过执行
来实现此目的var lock = navigator.requestWakeLock('screen');
但是,不要忘记稍后通过
解锁屏幕lock.unlock();