Standby API让你可以在顶层浏览器页面中请求屏幕持续显示锁。这可以防止设备进入省电状态(例如屏幕自动关闭)。这个功能对有些web应用来说至关重要。例如,想像一下你正在驾车并在手机上使用基于web的导航软件(非本地应用)。如果你不去触碰屏幕的话,你的手机的屏幕会自动关闭,除非你事前在手机上进行过相关的设置。在这样的情况下,通常你是想要让屏幕保持显示状态的。这恰恰是这个API适用的地方。
这个API需要通过window.navigator对象下的wakeLock属性来使用。它会提供两个函数:
- request(): 使当前应用能让屏幕保持显示状态。
- release(): 释放持续显示锁,这样屏幕就不会再被强制要求显示。
这两个函数都只接受一个参数,其只能是“screen”或“system”。前者表示操作针对的是设备屏幕,而后者针对的是除屏幕之外如CPU或广播之类的其他设备资源。
以下例子会演示如何适用该API让设备屏幕保持显示状态:
navigator.wakeLock.request("display").then( function successFunction() { // do something }, function errorFunction() { // do something else } );
要让设备允许屏幕关闭,我们可以用以下方法:
navigator.wakeLock.release("display");
如果你想要了解关于Standby API的更多信息,可以参考这个非官方草案。