Quiosque Na Madrugada - Quiosque Na Madrugada pub & bar, Foz do Iguaçu - Restaurant reviews
Quiosque Na Madrugada pub & bar, Foz do Iguaçu - Restaurant reviews

O que é kiosk mode e por que ele quebra no segundo dia

Kiosk mode é simplesmente uma configuração de sistema que trava o dispositivo em um único app ou site, impedindo o usuário de sair dele. Parece óbvio, mas a maioria das pessoas subestima o que dá errado depois de duas semanas rodando em loop. Eu configurei mais de uma dezena de quiosques em feiras, hospitais e pontos de venda e ainda me arrepio só de lembrar do sistema que travou durante um evento de 3 dias porque o cache do navegador estourou e o app simplesmente fechou sem nenhum aviso. A versão para Android é a mais comum e a mais complicada. O modo quiosque nativo do Android (Device Owner) existe desde a versão 5.1, mas ele exige que o dispositivo seja provisionado corretamente com uma conta de gerenciamento. Se você apenas ativar a opção de acessibilidade ou usar um app de terceiro, o usuário pode voltar ao home button, desligar a tela e reaparecer na tela de bloqueio. Isso não é um bug. É o comportamento padrão.

Como configurar um quiosque funcional no Android

O primeiro passo é transformar o dispositivo em Device Owner. Isso se faz poradb, nunca por settings. A sequência funciona assim: Conecte o aparelho via USB ao computador. Abra o terminal e execute o comando de criação do proprietário do dispositivo com o pacote do seu app de kiosk especificado. Depois disso, ative o modo de aplicativo fixo forçado. O dispositivo vai reiniciar e entrar diretamente no app selecionado. Não tem como o usuário escapar sem uma conta de administrador dedicada.

Aqui vai algo que ninguém conta: o botão power continua funcionando. Mesmo em kiosk mode puro, manter a tela ligada exige que você desative o timeout de suspensão nas configurações de desenvolvedor e adicione a permissão de desligamento da tela pelo shell. Caso contrário, o kiosk vai dormir depois de 30 segundos e ninguém consegue interagir. Eu perdi uma manhã inteira debugging isso em 2023. O comando que resolve é configurar a preference de stay-on durante o charging como persistent e adicionar uma wake lock no código do app. Outro problema recorrente é a tecla de notificação. O usuário arrasta a barra de notificação e encontra o botão de sair. Você precisa desativar a barra de notificações tanto para o status bar quanto para a quick settings. No código do app, sobrescreva o método que controla o draw do statusBar e retorne null. Funciona na prática, mas tem um efeito colateral: atualizações de sistema podem resetar essas configurações. Sempre verifique se o kiosk continua ativo após uma OTA.

Quiosque na madrugada: o problema que ninguém prevê

Configurei um quiosque de autoatendimento para um hospital que ficava rodando 24 horas. O sistema era simples: o paciente digitava o CPF, fazia o cadastro e chamava um número na fila. Funcionou perfeitamente durante o dia. Na madrugada, por volta das 3h da manhã, o app começava a travar aleatoriamente. Nenhuma mensagem de erro, apenas um freeze completo. O problema era o serviço de sincronização em background. O app fazia polling a cada 30 segundos para verificar novas filas. Durante o dia, com rede ativa e muitos usuários, não havia problema. Mas na madrugada, quando a conexão caía e o serviço tentava reconnect, ele entrava em um loop infinito de tentativas sem backoff exponencial. O processador ia a 100% e o app travava.

👉 Clique no botão abaixo para saber mais sobre o assunto!

A solução foi implementar um backoff exponencial com jitter nas reconexões e limitar o polling para a cada 2 minutos quando não há atividade do usuário. Também adicionei um watchdog que monitora o uso de CPU e mata o serviço de sincronização automaticamente se ultrapassar 80% por mais de 10 segundos. O custo foi aumentar o tempo de resposta da fila em cerca de 3 segundos, mas o quiosque passou a rodar estável por semanas sem reinicialização.

Alternativas e quando o kiosk mode não é a resposta

Se o seu objetivo é apenas apresentar conteúdo estático, como um menu digital ou um painel informativo, um tablet rodando em tela cheia com um browser em kiosk mode já resolve. Apps como KioskPro ou SuperKazoob cobram licença anual, mas são estáveis. Para uso mais pesado, com interação real e dados sensíveis, o Device Owner nativo é obrigatório. O ponto fraco do kiosk mode no Android é a fragmentação. Cada fabricante modifies as políticas de segurança de forma diferente. Samsung adiciona sua própria camada de Knox que às vezes sobrescreve configurações de Device Owner. Motorola tem um módulo chamado Ready For que pode interferir no behavior do app fixado. Xiaomi, com seu MIUI, fecha apps em background agressivamente mesmo com wake lock ativo. Se você vai provisionar 50 dispositivos de marcas diferentes, teste cada um individualmente. Não confie em documentação genérica.

Outro problema que aparece frequentemente é a tela tocando sozinha. Sensores de tela capacitiva degradam com o tempo, especialmente em ambientes com luz solar direta ou alta umidade. Um quiosque instalado perto de uma janela virado para o sol começa a registrar toques fantasmas após 6 meses. A solução prática é instalar um protetor de tela fosco e aumentar a sensibilidade de debounce do touch no código. O atraso de 200ms é imperceptível para o usuário e elimina 90% dos falsos toques. Se o dispositivo for Windows, o roteiro é outro. O Windows Kiosk Mode usa assigned access e precisa ser configurado via políticas de grupo ou Provisioning Packages. Ele é mais estável que a versão Android em termos de comportamento consistente, mas a infraestrutura necessária é maior. Você vai precisar de um servidor com Group Policy ou usar Intune para gerenciar os dispositivos em campo. Para 5 ou 10 unidades, vale o esforço. Para mais que isso, considere um MDM dedicado.

Não existe configuração de kiosk que seja plug-and-play. Cada ambiente tem variáveis que vão quebrar algo que você não previu. O segredo não é encontrar a ferramenta perfeita, é ter um plano de monitoramento que avise antes do quiosque parar de funcionar. Configure alertas de CPU, memória e conectividade. Revisite o device a cada 3 meses para limpar caches e verificar atualizações que possam ter resetting suas configurações. Um quiosque bem mantido dura anos. Um mal configurado dura uma semana.