Você já desenvolveu um aplicativo Android e se perguntou como evitar que a tela do celular desligue, hiberne ou ative a tela de bloqueio enquanto o app estiver aberto? Essa funcionalidade é especialmente útil para aplicativos de leitura, jogos ou monitoramento, onde o comportamento padrão de economia de energia pode atrapalhar a experiência do usuário.
Neste post, vou mostrar como implementar essa funcionalidade de maneira simples no Android Studio.
Mantendo a Tela Sempre Ativa no Android
A solução para impedir que a tela desligue é adicionar a flag FLAG_KEEP_SCREEN_ON
na Activity
do seu aplicativo. Essa configuração informa ao sistema operacional que, enquanto essa tela estiver ativa, ele deve evitar o bloqueio ou o desligamento automático.
Passo a Passo:
- Abra o método
onCreate()
da suaActivity
Adicione o seguinte código no método
onCreate()
para aplicar a configuração assim que aActivity
for aberta:@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // Impede que a tela desligue enquanto esta Activity estiver visível getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); }
- Reverter o Comportamento (Opcional)
Se for necessário permitir que o sistema volte a bloquear a tela quando o usuário sair da
Activity
, você pode limpar a configuração no métodoonDestroy()
:@Override protected void onDestroy() { super.onDestroy(); getWindow().clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); }
- Testando o Aplicativo
Compile e rode seu aplicativo. Verifique se a tela permanece ativa enquanto a
Activity
está visível, mesmo que você não interaja com o dispositivo.
Por Que Usar Esta Abordagem?
Essa solução é simples, eficaz e não exige permissões especiais no Android. É perfeita para aplicativos que exigem interação constante ou que não podem ser interrompidos pelo bloqueio da tela.
Cuidados Importantes:
- Evite deixar essa configuração ativa em todas as telas do aplicativo. Mantenha-a apenas onde realmente for necessário, para evitar consumo excessivo de bateria.
- Garanta que o comportamento volte ao normal quando o usuário sair do aplicativo.
Conclusão
Manter a tela sempre ativa em um aplicativo Android é uma tarefa fácil e pode melhorar muito a experiência do usuário em situações específicas. Com o uso de WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON
, você garante que o sistema mantenha a tela ligada enquanto a Activity
estiver visível.
Gostou da dica? Tem alguma dúvida ou sugestão? Deixe seu comentário abaixo!