WakeLock.request()

Draft
This page is not complete.

Secure context
This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.

The request() method of the WakeLock interface returns a Promise that resolves with a WakeLockSentinel object, which allows control over screen dimming and locking.

Syntax

var wakeLock = navigator.wakeLock.request(type);

Parameters

type
Options are as follows:
  • 'screen': Requests a screen wake lock. Prevents devices from dimming or locking the screen.

Return value

A Promise that resolves with a WakeLockSentinel object.

Exceptions

NotAllowedError
Thrown when wake lock is not available, which can happen because:
  • Document is not allowed to use screen wake lock due to screen-wake-lock policy.
  • Document is not fully active.
  • Document is hidden.
  • User Agent could not acquire platform's wake lock.

Examples

The following asynchronous function requests a WakeLockSentinel object. The request() method is wrapped in a try...catch statement to account for if the browser refuses the request for any reason.

const requestWakeLock = async () => {
  try {

    const wakeLock = await navigator.wakeLock.request('screen');

  } catch (err) {
    // the wake lock request fails - usually system related, such low as battery

    console.log(`${err.name}, ${err.message}`);
  }
}

requestWakeLock();

Specifications

Specification Status Comment
Screen Wake Lock API
The definition of 'request()' in that specification.
Unknown Initial definition.

Browser compatibility

DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
requestChrome Full support 84Edge Full support 84Firefox No support NoIE No support NoOpera Full support YesSafari No support NoWebView Android Full support 84Chrome Android Full support 84Firefox Android No support NoOpera Android Full support YesSafari iOS No support NoSamsung Internet Android Full support Yes

Legend

Full support
Full support
No support
No support

See also