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);