Modalità Ambient

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

Il sistema operativo attiva la modalità Ambient sul dispositivo 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 entra in modalità Risparmio energetico spegnendo il display. Le app di riproduzione di contenuti multimediali potrebbero impedire l'attivazione della modalità Ambient nonostante l'utente non interagisca con quest'ultima, ad esempio durante la visione di un film.

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

Se utilizzi MediaSession per la riproduzione di contenuti multimediali, manterrà un wakelock parziale implicito all'avvio della riproduzione. Mettendo in pausa la riproduzione non rilascerai questo wakelock. Ciò significa che il dispositivo potrebbe attivare automaticamente la modalità Ambient, ma non attiverà successivamente la modalità Risparmio energetico. Se l'utente interagisce con il dispositivo entro 30 minuti dall'attivazione della modalità Ambient, la tua app viene ripristinata.

Riproduzione video

Per la riproduzione di video, è importante impedire al dispositivo di attivare la modalità Ambient durante la riproduzione avviata dall'utente per garantire un'esperienza di visualizzazione ininterrotta. Tuttavia, le app non devono impedire ai dispositivi di attivare la modalità Ambient quando la riproduzione viene 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 manterrà implicitamente un wakelock parziale. Ciò non impedirà al dispositivo di attivare la modalità Ambient, ma impedirà la successiva transizione alla modalità di risparmio energetico. Pertanto, la riproduzione continuerà anche dopo l'attivazione della modalità Ambient sul dispositivo, ma non verrà attivato lo stato di sospensione del dispositivo per consentire la riproduzione ininterrotta.

Impedire la modalità Ambient

È possibile impedire al sistema operativo di attivare la modalità Ambient sul dispositivo, ma questa funzionalità deve essere utilizzata in conformità con i requisiti della modalità Ambient. Gli sviluppatori di app non possono impedire al dispositivo di attivare la modalità di 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 mentre questo flag è impostato. 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);