Android: escucha la tecla de encendido pulsa

Actualmente estoy intentando escuchar cuando se presiona el botón de encendido. En última instancia, me gustaría ejecutar algún código cuando se presiona el botón de encendido dos veces, para verificar si la pantalla está bloqueada o desbloqueada. Actualmente tengo esto:

  @Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    getWindow().addFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD);//prevent phone from being locked
}

@Override 
public boolean onKeyDown(int keyCode, KeyEvent event) {

    switch (keyCode) {
        case KeyEvent.KEYCODE_POWER:
        {
            Toast.makeText(getBaseContext(), "Power button pressed", Toast.LENGTH_LONG).show();

            return true;
        }
        case KeyEvent.KEYCODE_MENU:
            Toast.makeText(getBaseContext(), "Menu Button Pressed", Toast.LENGTH_LONG).show();

            return true;
    }
    return super.onKeyDown(keyCode, event);
}

El código funciona bien para brindar por el evento clave del menú, pero no hace nada por el evento de la tecla de encendido. ¿Algunas ideas

Respuestas a la pregunta(3)

Su respuesta a la pregunta