Como desabilitar o botão home do android - Stack Overflow em Português
Como desabilitar o botão home do android
Estou precisando desabilitar o uso do botão físico do aparelho Android (de preferência das versões superiores a 4.0). Com pesquisas encontrei algumas soluções como por exemplo removendo o actionbar, deixando a aplicação em "fullscreen". Necessito usar o actionbar. Encontrei uma solução não muito boa, que usa os seguintes tags no manifest:
Com isso apresenta um popup perguntando qual ação quero usar, Tela Inicial do aparelho ou chamar minha aplicação. Ao selecionar minha aplicação, uma nova instância da aplicação é criada...
Resumindo, preciso bloquear a ativação/ uso do botão físico home do aparelho dentro da aplicação. Não posso remover o actionbar, não posso iniciar nova instância da aplicação e, não posso bloquear o botão voltar (back button físico).
editada 30/05/14 às 20:07
perguntada 29/05/14 às 21:03
Victor CSVictor CS
5022 medalhas de ouro22 medalhas de prata88 medalhas de bronze
Essa questão do SO discute esse tema. Especificamente, a primeira resposta à questão parece funcionar. Eu ainda não testei, mas... – carlosrafaelgn 29/05/14 às 22:19
Mas não posso remover o actionbar, a primeira remove o action. – Victor CS 30/05/14 às 9:22
Oi Victor! Entendi... Nesse caso, seria interessante que você editasse a pergunta para deixar isso claro, para o pessoal não ter que vir ler os comentários. – carlosrafaelgn 30/05/14 às 12:01
Realizei a edição Carlos, obrigado pela ajuda! – Victor CS 30/05/14 às 20:01
O botão Home do Android por motivos de segurança foi feito para não poder ser bloqueado por aplicativos.
Qualquer forma que você encontre de fazer isso é basicamente um Hack que não existe garantias de que vá funcionar ou que vá se comportar da mesma forma em todas as versões do Android ou mesmo em aparelhos diferentes ou que usem uma UI personalizada, apenas com o SDK do Android não vai ter nada que te permita fazer isso.
A única forma de se fazer isso sem usar alguma artimanha é se o seu App for a Home Screen, a Home Screen vai ser o único app que vai poder tratar a tecla Home.
respondida 29/07/14 às 21:25
Tenta importar esta solução https://github.com/shaobin0604/Android-HomeKey-Locker
Permite bloquear tanto o botao FISICO HOME, BACK ou MENU key em versoes 4.0+
no teu código basta usar:
HomeKeyLocker homeKeyLoader = new HomeKeyLocker();
homeKeyLocker.lock(this);
// home key locked
homeKeyLocker.unlock();
// home key unlocked
respondida 30/05/14 às 10:48
PedroHawkPedroHawk
Pedro, usei o projeto que você me informou. infelizmente esta muito estranho o funcionamento dele no meu sistema. Não sei se é porque uso actionbar e fragments. Ao apertar o botão home, ele apresenta a tela inicial do aparelho mas, sem os ícones. Somente volta ao normal o aparelho (apresentando os ícones) finalizando a aplicação. E, o projeto impede o uso do botão voltar físico. Preciso dele funcional. Obrigado pela ajuda apesar de infelizmente não funcionar. – Victor CS 30/05/14 às 20:06