WakeLock

io error: No such file or directory (os error 2) (/home/runner/work/yari/yari/mdn/translated-content/files/zh-cn/web/api/screen_wake_lock_api/index.md)

安全上下文: 此项功能仅在一些支持的浏览器安全上下文(HTTPS)中可用。

屏幕唤醒锁 APIWakeLock 接口可用于请求锁,该锁阻止设备屏幕在应用程序需要保持运行时变暗或锁定。

此接口以及系统唤醒锁通过 Navigator.wakeLock 属性暴露。

实例方法

request()

返回一个 Promise 对象,该对象在屏幕唤醒锁被授予时会兑现为一个 WakeLockSentinel 对象。

示例

以下代码使用了 await 来请求 WakeLockSentinel 对象,如果请求成功则继续执行。

WakeLock.request() 方法被包裹在 try...catch 语句中,以捕捉导致 promise 被拒绝的情况,例如设备电量低。

js
try {
  const wakeLock = await navigator.wakeLock.request("screen");
} catch (err) {
  // 唤醒锁请求失败——通常是系统原因,例如设备电量不足
  console.log(`${err.name}, ${err.message}`);
}

请注意,设备可能会在授予屏幕唤醒锁后撤销它。返回的 WakeLockSentinel 可用于检查锁的状态,以及手动取消持有的屏幕唤醒锁。

规范

Specification
Screen Wake Lock API
# the-wakelock-interface

浏览器兼容性

BCD tables only load in the browser

参见