Ist es möglich, einen Android-Dienst zu erstellen, der auf das Drücken von Hardwaretasten wartet?

Ich möchte einen Android-Hintergrunddienst ausführen, der als Keylistener auf dem Startbildschirm oder im Ruhezustand des Telefons fungiert. Ist das möglich

Aus Online-Beispielen zu Halbzeugen habe ich den folgenden Dienst zusammengestellt, erhalte jedoch die Fehlermeldung "onKeyDown ist für den Typ" Dienst "undefiniert". Bedeutet dies, dass es nicht ohne das Neuschreiben von Launcher möglich ist, oder fehlt mir etwas Offensichtliches?

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);
    }
}

Ich erkenne, dass Android standardmäßig die Suchleiste verwendet, wenn Sie über den Startbildschirm tippen, aber dies ist wirklich nur für eine bestimmte Verwendung gedacht. Ich erwarte nicht wirklich, dass jemand außer mir das will. Ich denke nur, es wäre schön, zum Beispiel den Kamerataster zu verwenden, um das Telefon zu wecken.

Antworten auf die Frage(6)

Ihre Antwort auf die Frage