Modo ambiente

O Modo ambiente é um protetor de tela integrado ao Google TV e ao Android TV. O objetivo é evitar a exibição de imagens estáticas por períodos prolongados. Isso é importante para tecnologias de tela, como OLED, que podem ser suscetíveis a queima de tela.

O SO vai colocar o dispositivo no modo ambiente após 10 minutos de inatividade do usuário. Após um período de inatividade do usuário (definido pela configuração de economia de energia do dispositivo), o SO vai entrar no modo de economia de energia, desligando a tela. Apps de reprodução de mídia podem impedir que o dispositivo entre no modo ambiente, mesmo que o usuário não interaja com ele, por exemplo, enquanto assiste um filme.

Se o usuário interagir com o dispositivo em até 30 minutos após entrar no modo ambiente, o app que estava ativo quando o modo ambiente foi ativado será restaurado. Se o usuário interagir com o dispositivo mais de 30 minutos após entrar no modo ambiente, ele será retornado à tela inicial. Quando o usuário inicia o dispositivo usando o botão liga/desliga enquanto ele está no modo de economia de energia, ele é direcionado para a tela inicial. Como alternativa, se o usuário iniciar o dispositivo enquanto ele estiver no modo de economia de energia usando botões específicos do app (por exemplo, YouTube), ele será direcionado diretamente para esse app.

Reprodução de vídeo

Para a reprodução de vídeo, é importante impedir que o dispositivo entre no modo ambiente durante a reprodução iniciada pelo usuário para oferecer uma experiência de visualização ininterrupta. No entanto, os apps não podem impedir que os dispositivos entrem no modo ambiente quando a reprodução é interrompida ou pausada.

Reprodução de áudio

Para reprodução de áudio, os apps não podem impedir o modo ambiente durante a reprodução, a menos que implementem o próprio protetor de tela com imagens não estáticas. A reprodução de áudio vai continuar enquanto o modo ambiente estiver ativo.

A reprodução de áudio no Android vai manter implicitamente um wake lock parcial. Isso não impede que o dispositivo entre no modo ambiente, mas impede a transição subsequente para o modo de economia de energia. A reprodução vai continuar mesmo depois que o dispositivo entrar no modo ambiente, mas ele não poderá entrar no modo de espera para permitir a reprodução ininterrupta.

Como evitar o Modo ambiente

É possível impedir que o SO coloque o dispositivo no modo ambiente, mas isso precisa ser usado de acordo com os requisitos do modo ambiente. Os desenvolvedores de apps não podem impedir que o dispositivo entre no modo de Economia de energia.

Os apps podem impedir que a tela seja desligada definindo uma flag no Window:

Kotlin

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

Java

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

O modo ambiente será desativado enquanto essa flag estiver definida. Para reativá-lo, limpe a flag:

Kotlin

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

Java

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