Из ответа Кристиана на этот вопрос :
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (event.getKeyCode() == KeyEvent.KEYCODE_POWER) {
// do what you want with the power button
return true;
}
return super.onKeyDown(keyCode, event);
}
Однако Джейк Базиль прав. Если у вас нет веских причин делать что-то особенное при нажатии кнопки питания, вам следует использовать стандартные функции жизненного цикла Android.
При нажатии кнопки питания он вызывает метод onPause () вашего приложения, а когда вы разблокируете устройство, он вызывает onResume (). Именно здесь вы должны управлять своим потоком, чтобы предотвратить сбой приложения.
Документация о деятельности даст вам подробное описание функций жизненного цикла, когда они вызываются и как вы должны их использовать.