Действительно ли возможно создать Сервис Android, который прислушивается к нажатиям аппаратного ключа?

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

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

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 к панели поиска, когда Вы вводите от главного экрана, но это действительно только для очень конкретного использования. Я действительно не ожидаю никого, но меня для желания этого. Я просто думаю, что было бы хорошо, например, использовать кнопку камеры для пробуждения телефона.

28
задан Brian 11 June 2010 в 04:39
поделиться