Modalità Ambient

La modalità Ambient è un salvaschermo integrato in Google TV e Android TV. Il suo scopo è evitare di visualizzare immagini statiche per periodi prolungati. Questo è importante per le tecnologie di visualizzazione, come gli OLED, che potrebbero essere suscettibili di bruciature dello schermo.

Il sistema operativo imposta il dispositivo in modalità Ambient dopo 10 minuti di inattività dell'utente. Dopo un ulteriore periodo di inattività dell'utente (definito dall'impostazione Risparmio energetico del dispositivo), il sistema operativo entrerà in modalità Risparmio energetico e spegnerà il display. Le app per la riproduzione di contenuti multimediali potrebbero impedire al dispositivo di attivare la modalità Ambient anche se l'utente non interagisce, ad esempio durante la visione di un film.

Se l'utente interagisce con il dispositivo entro 30 minuti dall'attivazione di questa modalità, verrà ripristinata l'app che era attiva quando questa modalità era attiva. Se l'utente interagisce con il dispositivo più di 30 minuti dopo l'attivazione della modalità Ambient, torna alla schermata Home. Quando l'utente avvia il dispositivo usando il tasto di accensione mentre è in modalità Risparmio energetico, viene visualizzata la schermata Home. In alternativa, se l'utente avvia il dispositivo mentre è in modalità Risparmio energetico usando pulsanti dell'app specifici (ad esempio YouTube), viene indirizzato direttamente all'app in questione.

Se utilizzi MediaSession per la riproduzione di contenuti multimediali, manterrà un Wakelock parziale implicito all'avvio della riproduzione. Se metti in pausa la riproduzione, questo wakelock non verrà rilasciato. Ciò significa che il dispositivo potrebbe attivare automaticamente la modalità Ambient, ma non successivamente, verrà attivata questa modalità. Se l'utente interagisce con il dispositivo entro 30 minuti dall'attivazione della modalità Ambient, l'app verrà ripristinata.

Riproduzione video

Per la riproduzione di video, è importante impedire al dispositivo di attivare la modalità Ambient durante la riproduzione avviata dall'utente per offrire un'esperienza di visualizzazione ininterrotta. Tuttavia, le app non devono impedire ai dispositivi di attivare la modalità Ambient quando la riproduzione è interrotta o messa in pausa.

Riproduzione audio

Per la riproduzione audio, le app non devono impedire la modalità Ambient durante la riproduzione, a meno che non implementino un proprio salvaschermo con immagini non statiche. La riproduzione dell'audio continuerà mentre è attiva la modalità Ambient.

La riproduzione audio su Android comporta implicitamente un Wakelock parziale. Questa operazione non impedisce al dispositivo di attivare la modalità Ambient, ma impedisce la successiva transizione alla modalità Risparmio energetico. La riproduzione continuerà quindi anche dopo l'attivazione della modalità Ambient sul dispositivo, ma al dispositivo verrà impedito di andare in modalità di sospensione per consentire la riproduzione senza interruzioni.

Disattivazione della modalità Ambient

È possibile impedire al sistema operativo di attivare la modalità Ambient del dispositivo, ma questa modalità deve essere utilizzata conformemente ai requisiti della modalità Ambient. Gli sviluppatori di app non possono impedire al dispositivo di attivare la modalità Risparmio energetico.

Le app possono impedire la disattivazione dello schermo impostando un flag sulla Window:

Kotlin

requireActivity().window.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON)

Java

requireActivity().getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);

La modalità Ambient verrà disattivata se è impostato questo flag. Per riattivarla, devi cancellare il flag:

Kotlin

requireActivity().window.clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON)

Java

requireActivity().getWindow().clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);