Proteção contra botão Voltar e Home

110 views
Skip to first unread message

Ramon De Paula Marques

unread,
Sep 30, 2013, 4:28:34 PM9/30/13
to androidb...@googlegroups.com
Boa tarde pessoal,

Estou desenvolvendo um aplicativo para aplicar prova na faculdade, então é essencial que eu bloqueie o botão Voltar e o botão Home, pois o aluno só poderá sair do aplicativo o que resultará em prova finalizada, para evitar fraudes...

O botão voltar eu consegui resolver com esse código
 @Override
 
public boolean onKeyDown(int keyCode, KeyEvent event) {
 
if (keyCode == KeyEvent.KEYCODE_BACK) {
   
Utilidades.mensagemExibir("Alerta", "Não é permitido voltar!", this);
   
return true;
 
}
 
return super.onKeyDown(keyCode, event);
 
}

Mas o botão HOME o código similar não funciona, alguém tem alguma ideia de como resolver esse problema?

Eu gostaria que ao clicar HOME eu pudesse mostrar uma confirmação na tela de que a prova seria finalizada...

Pedro Subutzki <Pepeu>

unread,
Sep 30, 2013, 4:31:36 PM9/30/13
to androidb...@googlegroups.com
Acredito que só desenvolvendo um Launcher para conseguir controlar o HOME.

Abraços,
Pedro Subutzki
__________________________________________
HADI - Makes SQLite in Android easy and simple
https://github.com/PepeuCps/Hadi


--
You received this message because you are subscribed to the Google Groups "Android Brasil - Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to androidbrasil-...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

Rômulo Nadler

unread,
Sep 30, 2013, 4:33:52 PM9/30/13
to androidb...@googlegroups.com
Você pode pegar o exemplo HOME do sdk e customizar, precisei fazer algo parecido e foi assim que resolvi.

Buiu

unread,
Sep 30, 2013, 4:37:47 PM9/30/13
to Android Brasil - Dev
Se ele desligar o telefone? se ele receber ligação vai bloquear tbm?

Acho que está indo pelo caminho complicado... acredito que pode ir por outro caminho não bloqueando o usuário de utilizar as funcionalidades do seu dispositivo. e sim você tratar no seu app.

Cristian Cardoso
www.ctncar.com.br

Em 30 de setembro de 2013 17:31, Pedro Subutzki <Pepeu> <faleco...@gmail.com> escreveu:



--



Pedro Subutzki <Pepeu>

unread,
Sep 30, 2013, 4:40:11 PM9/30/13
to androidb...@googlegroups.com
Concordo com o Cristian! 
Tentar bloquear as coisas nunca é a melhor saída.

Abraços,
Pedro Subutzki
__________________________________________
HADI - Makes SQLite in Android easy and simple
https://github.com/PepeuCps/Hadi


Diego Lopes Marques da Silva

unread,
Sep 30, 2013, 4:50:53 PM9/30/13
to androidb...@googlegroups.com
Bom,

Como falaram já aqui, eu também não recomendo.
Mas já que você quer, pode seguir o código abaixo.

@Override
    public void onAttachedToWindow() {
        this.getWindow().setType(
WindowManager.LayoutParams.TYPE_KEYGUARD);
        super.onAttachedToWindow();
    }

Diego Lopes Marques
MSc. Candidate in Computer Science at PPgSC - UFRN

Lucas Xavier

unread,
Sep 30, 2013, 4:50:54 PM9/30/13
to androidb...@googlegroups.com
Uma coisa que o App pode fazer é disparar um "alarme" se o usuário sair do app =D

--
Atenciosamente,

Lucas Xavier

Ramon De Paula Marques

unread,
Sep 30, 2013, 4:51:03 PM9/30/13
to androidb...@googlegroups.com
Obrigado pelas respostas pessoal.

Entendo a preocupação de vocês, no entanto foi a única maneira que pensei, até porque o dispositivo é da faculdade e são tablets, então não tem nem como receber ligação...

Como você trataria a app Buiu?


--
You received this message because you are subscribed to a topic in the Google Groups "Android Brasil - Dev" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/androidbrasil-dev/FFtfDwRw5Iw/unsubscribe.
To unsubscribe from this group and all its topics, send an email to androidbrasil-...@googlegroups.com.

For more options, visit https://groups.google.com/groups/opt_out.



--
Ramon de Paula Marques

Carlos Eduardo

unread,
Sep 30, 2013, 4:51:30 PM9/30/13
to androidb...@googlegroups.com
Depende do caso,

Estou verificando algo parecido com isso em tablets. O caso não é tão sério quanto, mas também quero bloquear qualquer maneira de sair do app. :/

Rômulo tem algum exemplo?

Obrigado


--
Carlos Eduardo Simões Pelegrin

Ramon De Paula Marques

unread,
Sep 30, 2013, 4:52:09 PM9/30/13
to androidb...@googlegroups.com
Diego, eu tentei usar esse código, mas não aconteceu nada, acho que não estou sabendo utilizar, pode me dar uma orientação melhor?


--
You received this message because you are subscribed to a topic in the Google Groups "Android Brasil - Dev" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/androidbrasil-dev/FFtfDwRw5Iw/unsubscribe.
To unsubscribe from this group and all its topics, send an email to androidbrasil-...@googlegroups.com.

For more options, visit https://groups.google.com/groups/opt_out.



--
Ramon de Paula Marques

Diego Lopes Marques da Silva

unread,
Sep 30, 2013, 4:53:56 PM9/30/13
to androidb...@googlegroups.com
Ramon,

Testa o código na tua activity principal

Ramon De Paula Marques

unread,
Sep 30, 2013, 5:08:23 PM9/30/13
to androidb...@googlegroups.com
Romulo, eu não consegui te entender muito bem, procurei exemplo HOME no sdk, mas não tem exemplo com esse nome, vc ta se referindo a modificar o código fonte?

Vinicius Moises de Oliveira

unread,
Sep 30, 2013, 5:11:54 PM9/30/13
to androidb...@googlegroups.com

Rômulo Nadler

unread,
Sep 30, 2013, 9:10:49 PM9/30/13
to androidb...@googlegroups.com
Ramon,

O exemplo esta em "adt-bundle-windows-x86_64-20130522\sdk\samples\android-15\Home", peguei o exemplo e fiz minhas customizações, no lugar de abrir uma activity com os apps iniciei a aplicação, o launcher padrão era a aplicação assim quando pressionava o Home ele abria a aplicação, criei um serviço que ficava monitorando os aplicativos abertos os que não tivessem na minha lista branca fechava, assim o usuário não abriria nenhum aplicativo sem permissão, não esquece de criar uma maneira de voltar para o launcher padrão...kkkk

Ramon De Paula Marques

unread,
Sep 30, 2013, 10:19:30 PM9/30/13
to androidb...@googlegroups.com
Entendi agora perfeitamente Rômulo, muito obrigado!

Lucas Diego

unread,
Oct 14, 2013, 10:04:31 AM10/14/13
to androidb...@googlegroups.com
Voltando aqui esse tópico... 

Rômulo Nadler, como vc conseguiu "fechar" aplicação? Fiz a mesma coisa que vc fez, os apps que não estão na lista branca eu teria que fechar, mas estou chamando o launcher novamente. Ou seja, pro usuário ele imagina que a app foi fechada, mas na verdade está em background.

Como vc fez pra fechar o app?

Obrigado 


2013/9/30 Ramon De Paula Marques <ram...@gmail.com>

Rômulo Nadler

unread,
Oct 14, 2013, 5:07:38 PM10/14/13
to androidb...@googlegroups.com
Eu retorno o launcher padrão, assim o tablet volta a funcionar normalmente.

Lucas Diego

unread,
Oct 14, 2013, 8:32:17 PM10/14/13
to androidb...@googlegroups.com
Estou fazendo desse jeito também... eu pensei que vc estava conseguindo fechar a aplicação que iniciou!
valeu!


2013/10/14 Rômulo Nadler <romulo...@gmail.com>
Reply all
Reply to author
Forward
0 new messages