Pesquisar neste blog:

07/01/2025

Como Impedir que a Tela do Celular Desligue ou Bloqueie em um Aplicativo Android

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:

  1. Abra o método onCreate() da sua Activity

    Adicione o seguinte código no método onCreate() para aplicar a configuração assim que a Activity 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);
    }
  2. 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étodo onDestroy():

    @Override
    protected void onDestroy() {
        super.onDestroy();
        getWindow().clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
    }
  3. 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!

Protegendo Arquivos Sensíveis em Servidores Compartilhados


Protegendo Arquivos Sensíveis em Servidores Compartilhados

Em servidores compartilhados, como os oferecidos pela Hostinger, é comum encontrar a pasta public_html, que é a raiz pública do site. Qualquer arquivo ou pasta dentro dela pode ser acessado via navegador, tornando-a inadequada para armazenar informações sensíveis, como chaves de acesso. Neste artigo, vou explicar como proteger esses dados e garantir a segurança do seu servidor.

1. Armazenando Arquivos Sensíveis no Diretório Privado

Arquivos importantes, como chaves de acesso, devem ser armazenados fora da pasta public_html, no diretório raiz do servidor. Por exemplo:


/home/username/
    private/          # Pasta para arquivos sensíveis
        key.txt       # Arquivo com chave de acesso
    public_html/      # Pasta pública do site
        index.php     # Arquivo principal do site
    

Exemplo de código PHP para acessar arquivos:


<?php
$keyPath = __DIR__ . '/../private/key.txt'; // Caminho relativo
$key = file_get_contents($keyPath);
echo "Chave carregada com sucesso.";
?>
    

2. Configurando Permissões Seguras

Para proteger os arquivos sensíveis, é essencial configurar as permissões corretamente:

  • Pasta private: Use permissão 700 (somente o proprietário pode ler, escrever e executar).
    chmod 700 /home/username/private
  • Arquivo de chave: Use permissão 600 (somente o proprietário pode ler e escrever).
    chmod 600 /home/username/private/key.txt

3. Configurando Permissões para public_html

A pasta public_html deve ter permissões configuradas para garantir que o servidor web possa acessá-la e exibir os arquivos publicamente, mas evitando que usuários não autorizados alterem seu conteúdo. As configurações típicas são:

  • Código Octal: 750 ou 755.
  • Quando usar 755: Se o servidor é configurado para que o usuário do servidor web (geralmente www-data, apache, ou nginx) esteja no grupo do proprietário da pasta.
    chmod 755 public_html
  • Quando usar 750: Se o servidor web é executado pelo mesmo usuário proprietário da pasta.
    chmod 750 public_html
  • Proteção adicional:
    • Certifique-se de que o proprietário da pasta seja o seu usuário de hospedagem.
    • O grupo deve incluir o usuário do servidor web:
      chown -R seu_usuario:grupo_do_servidor_web public_html
    • Arquivos dentro da public_html devem ter permissão 644:
      chmod 644 public_html/index.php
    • Arquivos JavaScript (.js) dentro da public_html também devem ter permissão 644:
      chmod 644 public_html/scripts/app.js
    • Pastas dentro da public_html devem ter permissão 755:
      chmod 755 public_html/css

4. Protegendo com .htaccess

Adicionar um arquivo .htaccess pode fornecer uma camada extra de proteção caso a pasta seja movida acidentalmente.


Order Allow,Deny
Deny from all
    

Ou, para versões modernas do Apache:


<IfModule mod_authz_core.c>
    Require all denied
</IfModule>
    

5. Permissões do .htaccess

Para o arquivo .htaccess dentro de public_html, use permissão 644. Isso garante que o servidor web possa lê-lo, mas evita alterações por usuários não autorizados:

chmod 644 /home/username/public_html/.htaccess

6. Resumo das Boas Práticas

  • Armazene arquivos sensíveis fora de public_html.
  • Configure permissões adequadas:
    • 700 para pastas privadas.
    • 600 para arquivos sensíveis.
    • 755 ou 750 para public_html.
    • 644 para arquivos dentro de public_html, como .htaccess, arquivos PHP e JavaScript.
  • Use .htaccess para evitar acessos indevidos.
  • Acesse arquivos com caminhos relativos ou absolutos no PHP.

Com essas práticas, você pode proteger seus arquivos sensíveis mesmo em um ambiente compartilhado. Se tiver dúvidas ou quiser compartilhar sua experiência, deixe um comentário abaixo! 😊

SIGA-NOS