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