Substituir o botão Power apenas como o botão Home

Bem, eu estou fazendo algo em que eu quero desativar todos os botões do dispositivo.

Botões rígidos como Power, Home, Aumentar volume, Diminuir volume, Pesquisar, Voltar.

Eu tenho substituído com sucesso quase todos os botõesAqui exceto poder.

Então eu só quero que vocês vejam e compartilhem algumas idéias para que eu possa me livrar disso.

Estou recebendo oimprensa longa Poder keyevent emonDispatchKeyEvent(), da mesma forma que eu quero pegar o clique curto do mesmo. Além disso, quando pressiona o poder também tentei pararTela apagada obtendo oBroadcast doSCREEN_OFF e consegui recebê-lo, mas não consegui lidar com isso.

Obrigado.

Então, eu criei um ReceiverScreen que recebe a transmissão de tela on / off

ReceiverScreen.java

<code>public class ReceiverScreen extends BroadcastReceiver {

    public static boolean wasScreenOn = true;

    @Override
    public void onReceive(Context context, Intent intent) {
        if (intent.getAction().equals(Intent.ACTION_SCREEN_OFF)) {
            // do whatever you need to do here
            wasScreenOn = false;
        } else if (intent.getAction().equals(Intent.ACTION_SCREEN_ON)) {
            // and do whatever you need to do here
            wasScreenOn = true;
        }
    }
}
</code>

DisableHardButton.java

<code>public class DisableHardButton extends Activity {

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setContentView(R.layout.main);
    IntentFilter filter = new IntentFilter(Intent.ACTION_SCREEN_ON);
    filter.addAction(Intent.ACTION_SCREEN_OFF);
    BroadcastReceiver mReceiver = new ReceiverScreen();
    registerReceiver(mReceiver, filter);
    }

@Override
    protected void onPause() {
        // when the screen is about to turn off
        if (ScreenReceiver.wasScreenOn) {
            // this is the case when onPause() is called by the system due to a screen state change
            System.out.println("SCREEN TURNED OFF");

    } else {
        // this is when onPause() is called when the screen state has not changed
    }
    super.onPause();
}

@Override
protected void onResume() {
    // only when screen turns on
    if (!ScreenReceiver.wasScreenOn) {
        // this is when onResume() is called due to a screen state change
        System.out.println("SCREEN TURNED ON");
    } else {
        // this is when onResume() is called when the screen state has not changed
    }
    super.onResume();
}
}
</code>

questionAnswers(6)

yourAnswerToTheQuestion