The WakeLockSentinel interface of the Screen Wake Lock API provides a handle to the underlying platform wake lock and can be manually released and reacquired. An Object representing the wake lock is returned via the navigator.wakeLock.request() method.
An acquired WakeLockSentinel can be released manually via the release() method, or automatically via the platform wake lock. This can happen if the document becomes inactive or looses visibility, if the device is low on power or the user turns on a power save mode. Releasing all WakeLockSentinel instances of a given wake lock type will cause the underlying platform wake lock to be released.
Releases the WakeLockSentinel, returning a Promise that is resolved once the sentinel has been successfully released.
Examples
In this example we create an asynchronous function which requests a WakeLockSentinel. Once acquired we listen for the release event which can be used to give appropriate UI feedback. The sentinel can be acquired or released via appropriate interactions.
js
// create a reference for the wake locklet wakeLock =null;// create an async function to request a wake lockconstrequestWakeLock=async()=>{try{
wakeLock =await navigator.wakeLock.request("screen");// listen for our release event
wakeLock.addEventListener("release",()=>{// if wake lock is released alter the UI accordingly});}catch(err){// if wake lock request fails - usually system related, such as battery}};
wakeLockOnButton.addEventListener("click",()=>{requestWakeLock();});
wakeLockOffButton.addEventListener("click",()=>{if(wakeLock !==null){
wakeLock.release().then(()=>{
wakeLock =null;});}});