Travar Aplicação [Resolvido]

13 respostas
J

Boa tarde galera,
Gostaria de saber se tem como bloquear a minha aplicação, no caso, re-escrever os códigos do botão Voltar, Home,etc… para IMPEDIR o usuário de sair da app.
Sim, eu sei que não é recomendado fazer isso, mas é que nessa app ela será exclusiva para isso, o usuário não poderá usar o dispositivo para outra finalidade.
E se possível, assim que ligar o dispositivo, já executar a app.
Alguém tem alguma idéia?
Obrigado.

13 Respostas

Marky.Vasconcelos

Sobreescreva onBackPressed da Activity, ja o Home não sei.

Para iniciar ao iniciar voce tem que ouvir um Broadcast.ACTION_BOOT

Quer fazer “virus”? Nunca vou baixar seus apps kkk

J

hahah rashei…
É o back eu consigo fazer… agora o Home ta foda =x
Que nada, é pra impedir os funcionários de utilizarem o dispositivo para outra finalidade. Pode baixa sim =]

J

Para o botão Home…

public void onAttachedToWindow()

{

this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);

super.onAttachedToWindow();

}
luckdantas

jhony_ld:
Boa tarde galera,
Gostaria de saber se tem como bloquear a minha aplicação, no caso, re-escrever os códigos do botão Voltar, Home,etc… para IMPEDIR o usuário de sair da app.
Sim, eu sei que não é recomendado fazer isso, mas é que nessa app ela será exclusiva para isso, o usuário não poderá usar o dispositivo para outra finalidade.
E se possível, assim que ligar o dispositivo, já executar a app.
Alguém tem alguma idéia?
Obrigado.

Disable Search, Back key: in “DisableAllButton.java”

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    return false;
}

Disable Home key: in “DisableAllKey.java”

@Override public void onAttachedToWindow() { // TODO Auto-generated method stub this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD); super.onAttachedToWindow(); }

Disable Powerkey: in “DisableAllKey.java”

KeyguardManager keyguardManager = (KeyguardManager) getSystemService(Activity.KEYGUARD_SERVICE); KeyguardManager.KeyguardLock lock = keyguardManager.newKeyguardLock(KEYGUARD_SERVICE); lock.disableKeyguard();

in AndroidManifest

<uses-permission android:name="android.permission.DISABLE_KEYGUARD"></uses-permission>

LEMBRANDO QUE ISSO NUNCA DEVE SER FEITO PARA APLICAÇÕES QUE VÃO PARA O GOOGLE PLAY.
ISSO INTERFERE NA PRATICIDADE NO APLICATIVO E VAI GERAR NOTAS BAIXAS.

RECOMENDADO APENAS PARA APLICAÇÕES PRIVADAS

J

O back e o menu foram desabilitados, consegui iniciar a app logo ao iniciar o dispositivo, agora o problema, é que mesmo assim o user consegue fechar a app.
Se clicar no relógio, da para ir em configurações, e de lá parar a app.
Bloquear TODOS esses controles que existem na Bar é possivel?
deixar ela Hidden só seria possível se eu fizesse um root?
vlw

luckdantas
jhony_ld:
O back e o menu foram desabilitados, consegui iniciar a app logo ao iniciar o dispositivo, agora o problema, é que mesmo assim o user consegue fechar a app. Se clicar no relógio, da para ir em configurações, e de lá parar a app. Bloquear TODOS esses controles que existem na Bar é possivel? deixar ela Hidden só seria possível se eu fizesse um root? vlw

Por que você não coloca seu aplicativo como fullscreen? Ira sumir a actionbar!

<activity
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
....
>
then to enable/disable Menu Items:
@Override
public void onPrepareOptionsMenu(Menu menu) {
    MenuItem item= menu.findItem(R.id.men_1);
    //depending on you conditions, either enable/disable
    item.setEnabled(false);
    super.onPrepareOptionsMenu(menu);
}
and to hide the action bar you have:
getActionBar().hide();
J

NullPointerException…
Já verifiquei essa solução, o pessoal falou que não dava certo.
Agradeço mesmo assim.

luckdantas

jhony_ld:
NullPointerException…
Já verifiquei essa solução, o pessoal falou que não dava certo.
Agradeço mesmo assim.

Vc ja tentou as duas? A de deixar a tela em fullScreen e a de desabilitar e esconder a ActionBar?

J

Sim, as duas não funciona. =/

J

Bom consegui chegar a uma conclusão!
É impossível realizar isso sem realizar root.
Obrigado.

luckdantas

jhony_ld:
Bom consegui chegar a uma conclusão!
É impossível realizar isso sem realizar root.
Obrigado.

Você poderia postar como faria isso pelo root… Vai que um dia eu precise!!

J

Se realizar root é simples!
Já tem vários root que já vem sem a System Bar, ou tem opções nas configurações para habilitar/desabilitar.
Ou tbm poderia alterar o source do Android só para ter acessor a StatusBar.
Vlw

luckdantas

jhony_ld:
Se realizar root é simples!
Já tem vários root que já vem sem a System Bar, ou tem opções nas configurações para habilitar/desabilitar.
Ou tbm poderia alterar o source do Android só para ter acessor a StatusBar.
Vlw

Saquei!! Brigadão!!

Criado 27 de fevereiro de 2013
Ultima resposta 28 de fev. de 2013
Respostas 13
Participantes 3