Funzionalità principali
- Schermata attiva (Screen Wake Lock):
Permette di mantenere lo schermo acceso anche se l’utente non interagisce direttamente con il dispositivo. Questo è particolarmente utile per applicazioni come video player, giochi o presentazioni, dove il dispositivo potrebbe non ricevere input frequenti dall’utente, ma è comunque importante mantenere il display acceso. - Wake Lock di sistema (System Wake Lock):
Anche se meno comune, c’è la possibilità di mantenere attivo l’intero sistema, impedendo non solo lo spegnimento dello schermo, ma anche l’ingresso in modalità di sospensione completa. Tuttavia, questa funzionalità è meno supportata e potrebbe non essere disponibile su tutti i dispositivi o browser.
Per utilizzare la Screen Wake Lock API, si può fare una richiesta di blocco dello schermo con il seguente codice:
// Richiedere un wake lock per mantenere lo schermo attivo let wakeLock = null; try { wakeLock = await navigator.wakeLock.request('screen'); console.log('Wake Lock attivato'); } catch (err) { console.error(`${err.name}, ${err.message}`); }
Il Wake Lock potrebbe essere rilasciato automaticamente dal sistema, ad esempio, se l’applicazione perde visibilità o se si verifica un errore. È buona pratica aggiungere un listener per l’evento release
, come mostrato nell’esempio, in modo da poter gestire correttamente queste situazioni. Ricordiamoci di rilasciare sempre il Wake Lock manualmente quando non è più necessario, specialmente per ottimizzare il consumo della batteria dell’utente. Prima di chiamare release()
, verifichiamo che l’oggetto wakeLock
non sia nullo, per evitare errori nel caso in cui il Wake Lock fosse già stato rilasciato o non sia mai stato acquisito.
Un altro paio di cose da tenere a mente:
- L’API è disponibile solo quando l’applicazione viene servita tramite HTTPS
- Sebbene questa API esista da parecchio tempo, non tutti i browser la supportano. Possiamo dunque controllare la compatibilità MDN per vedere quali sono supportati