Android - Inaktivität / Aktivität unabhängig von der Top-App
Ich muss herausfinden, wann die letzte Benutzerinteraktion stattgefunden hat, unabhängig davon, welche Anwendung im Vordergrund steht. Es ist mir egal, wo oder was das Ereignis war. Ich muss nur wissen, wann es war. Oder alternativ erhalte ich zufällig eine Veranstaltung.
Ich habe mehrere Dinge ausprobiert:
Erstellen Sie einen Dienst mit einem Fenster und fügen Sie einen Touch-Listener hinzu. Dies aß das Berührungsereignis und gab es nicht weiterSuchte nach einem Shell-Befehl.getevent
funktioniert (neue Zeile kommt jedes Mal, wenn eine Berührung eingeht), aber Sie brauchen root und es ist keine geeignete Lösung für mich.Habe nach "time until lock" gesucht, aber nichts gefunden.Beachten Sie auch, dass dies keine Sicherheitsbedenken mit sich bringt, da ich keine identifizierenden Informationen wie den Ort der Berührung benötige. Nur eine Briefmarke (oder eine Live-Veranstaltung).
Ich bin offen für Reflexionen, um das herauszufinden.
@ user2558882 hat eine sehr gute Lösung. Das ist der beste Ansatz, den ich bisher kennengelernt habe.
Obwohl dies großartig ist, muss der Benutzer unsere Anwendung dennoch manuell in den Eingabehilfen aktivieren. Wir haben Kunden mit Tausenden von Geräten und haben die Möglichkeit, Einstellungen automatisch zu aktualisieren und zu ändern. Wir versuchen, die manuelle Konfiguration auf ein Minimum zu beschränken, aber einige Dinge erfordern noch Benutzereingaben, z. B. die Aktivierung des Geräteverwaltungsmodus. Diese Lösung ist also akzeptabel, aber ich bin immer noch offen für eine Möglichkeit, für deren Aktivierung keine Benutzereingaben erforderlich sind.
Am Ende implementierte ich die Idee von @ user2558882, einen Eingabehilfedienst zu verwenden. Andere Ideen sind jedoch willkommen.