Modo ambiente

O Modo ambiente é um protetor de tela integrado ao Google TV e ao Android TV. A finalidade dele é evitar a exibição de imagens estáticas por longos períodos. 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 "Economia de energia" do dispositivo), o SO entrará no modo de economia de energia, desligando a tela. Os 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 até 30 minutos depois de entrar no modo ambiente, o app que estava ativo quando ele foi acessado será restaurado. Se o usuário interagir com o dispositivo mais de 30 minutos após entrar no modo ambiente, ele vai retornar à tela inicial. Quando o usuário liga o dispositivo usando o botão liga/desliga enquanto está no modo de Economia de energia, ele é levado para a tela inicial. Como alternativa, se o usuário iniciar o dispositivo enquanto estiver no modo de Economia de energia usando botões específicos do app (por exemplo, YouTube), ele será levado diretamente para esse app.

Se você estiver usando o MediaSession para reproduzir mídia, ele vai manter um wake lock parcial implícito ao iniciar a reprodução. Pausar a reprodução não vai liberar o wake lock. Isso significa que o dispositivo pode entrar automaticamente no modo ambiente, mas não vai entrar posteriormente no modo de Economia de energia. Se o usuário interagir com o dispositivo até 30 minutos após entrar no Modo ambiente, o app será restaurado.

Reprodução de vídeo

Para a reprodução de vídeos, é 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 for 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 reterá 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. Portanto, a reprodução continuará mesmo depois que o dispositivo entrar no modo ambiente, mas o dispositivo será impedido de entrar no modo de suspensão para permitir a reprodução ininterrupta.

Como impedir o Modo ambiente

É possível evitar que o SO coloque o dispositivo no modo ambiente, mas essa opção precisa ser usada 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 ficará desativado enquanto essa sinalização estiver definida. Para reativá-la, limpe a flag:

Kotlin

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

Java

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