Как я могу поймать кнопку питания Длительное нажатие?
Я пытаюсь разработать приложение, которое будет делать что-то после нажатия кнопки питания.
У меня есть код, который ловит кнопку onClick of Power, но она не работает. Экран заблокируется.
Сейчас я пытаюсь поймать onLongPress кнопки питания, предотвращая появление опций "Power Off". Любые предложения о том, как это сделать?
заранее спасибо.
3 ответа
Привет, вы просто пытаетесь получить уведомление о событии, чем, как указал Картик, вам просто нужно поиграть с событием onKeyDown.
но из того, что я понимаю по вашему вопросу, вы на самом деле хотите предотвратить поведение кнопки питания, а это невозможно сделать. точно так же, как нажатие кнопки "Домой", некоторые события в Android не могут быть предотвращены, чтобы избежать людей, имеющих приложения, из которых они не могут выйти.
Это наверняка предотвратит длительное нажатие кнопки.
@Override
public void onWindowFocusChanged(boolean hasFocus) {
super.onWindowFocusChanged(hasFocus);
if(!hasFocus) {
Intent closeDialog = new Intent(Intent.ACTION_CLOSE_SYSTEM_DIALOGS);
sendBroadcast(closeDialog);
}
}
Вы можете включить экран, как описано в http://developer.android.com/reference/android/os/PowerManager.html
Это может истощить процессор и привести к путанице с ожиданиями людей о том, что происходит, когда они нажимают кнопку питания, поэтому будьте осторожны с этим.