Как моментально отследить кнопку Power на android?

213
07 декабря 2017, 00:20

Добрый день, как можно моментально отследить кнопку Power? В этом примере кода она срабатывает только после того, как пройдет некоторое время и откроется экран выключения.

public boolean onKeyDown(int keyCode, KeyEvent event) {
    if (keyCode == KeyEvent.KEYCODE_POWER) {
        Intent intes = new Intent("com.example.off.Black");
        startActivity(intes);
        return true;
    }
    return super.onKeyDown(keyCode, event);
Answer 1

В стандартной ситуации перехват кнопки питания запрещен, это сделано сознательно, чтобы очумелые ручки не смогли ввести девайс в неприемлемый режим.

Имеется не очень документированный пермишен: android.permission.PREVENT_POWER_KEY (надо декларировать в манифесте), который позволяет получить контроль за кнопкой питания, а именно ловить нажатие кнопки питания без долгого ожидания:

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    if (keyCode == KeyEvent.KEYCODE_POWER) {
        Log.i("TAG", "Power button short press!");
        return true;
    }
    return super.onKeyDown(keyCode, event);
}

Поскольку пермишен недокументированный не гарантируется работа на всех девайсах.

READ ALSO
Удалить все вхождения с помощью StringBuffer

Удалить все вхождения с помощью StringBuffer

Есть массив слов и в каждом слове от 2 до 10 строчных латинских буквС помощью StringBuffer удалить все вхождения "th"

247
Selenium WebDriver + Jsoup

Selenium WebDriver + Jsoup

Нужно вытащить расписание вот с этой страницы: http://ruzspbstu

257
Работа с таймером. Выполнить код через время

Работа с таймером. Выполнить код через время

ПриветствуюРаботаю в Android Studio

197
с++ define чем заменить в Java

с++ define чем заменить в Java

народ вот в С++ есть define а что в джаве чем заменит ?

229