Можно ли создать службу Android, которая будет прослушивать нажатия аппаратных клавиш?

Я хотел бы запустить фоновый сервис Android, который будет работать как клавиатурный слот с домашнего экрана или когда телефон спит. Это возможно?

Из полу связанных между собой примеров в сети я собрал следующий сервис, но получил ошибку: «onKeyDown не определен для типа Сервис». Означает ли это, что это не может быть сделано без переписывания Launcher, или я что-то упускаю из виду?

public class ServiceName extends Service {

    @Override
    public void onCreate() {
        //Stuff
    }

    public IBinder onBind(Intent intent) {
        //Stuff
        return null;
    }

    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        if(event.getAction() == KeyEvent.ACTION_DOWN) {
        switch(keyCode) {
        case KeyEvent.KEYCODE_A:
            //Stuff
            return true;
        case KeyEvent.KEYCODE_B:
            //Stuff
            return true;

            //etc.
        }
        }

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

Я понимаю, что при вводе с главного экрана Android по умолчанию используется панель поиска, но это действительно только для особого использования. Я действительно не ожидаю, что кто-нибудь, кроме меня, захочет этого. Я просто думаю, что было бы хорошо, например, использовать кнопку камеры, чтобы разбудить телефон.

Ответы на вопрос(3)

Ваш ответ на вопрос