Deaktivieren Sie Hardware- und Softwaretasten vollständig

Ich möchte die drei Bildschirmtasten (Zurück, Startseite, Letzte) und alle anderen Hardwaretasten vollständig deaktivieren. Mir ist bewusst, dass ich dies nicht von der Anwendung aus tun kann, da dies eine große Sicherheitslücke darstellen würde. Wie würde ich dies mit einem Gerät machen, vorausgesetzt, ich habe das Gerät zur Hand? Erhalten Sie Root-Zugriff und wie würde das gehen?

Ps: Ich versuche, die App auf meinem Tablet an einem Kiosk auszuführen, und ich möchte nicht, dass die Benutzer irgendwelche Tasten drücken.

Antworten (2)

Full!screen hat eine (kostenpflichtige) Funktion, mit der Sie Systemleisten in bestimmten Apps automatisch ausblenden und in anderen Apps einblenden können, aber es gibt eine kostenlose Version ohne die Automatisierung.

Alternativ kann man sie komplett über ADB ( source ) ausblenden mit:

adb shell
su
pm disable com.android.systemui

Oder (wenn Sie Ihre eigene App schreiben) können Sie diesen Code verwenden ( Quelle ):

private void hideNavigationBar(){
        try {
            Process process = Runtime.getRuntime().exec("su");
            DataOutputStream os = new DataOutputStream(process.getOutputStream());
            os.writeBytes("pm disable com.android.systemui\n");
            os.flush();
            os.writeBytes("exit\n");
            os.flush();
            process.waitFor();
            //////////////////////////////////////
        } catch (InterruptedException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

Kiosk Browser Lockdown hat auch eine Funktion, mit der Sie alle Systemdialoge deaktivieren können (Lautstärke, langes Drücken der Stromversorgung usw.)

Mit dem Xposed Framework und den Xposed Additions können Sie jede Schaltfläche jeder Aktion neu zuordnen, und in Ihrem Fall der "Keine Aktion".

Wenn Sie dies kombinieren, um alle Ihre Hardwaretasten mit dieser Antwort zu deaktivieren , würden Sie erreichen, was Sie wollen.

Öffnen Sie die App und folgen Sie diesen Schritten:

  1. Klicken Sie auf Schaltflächen
  2. Klicken Sie auf Neuen Schlüssel hinzufügen
  3. Drücken Sie die Taste, die Sie deaktivieren möchten
  4. Drücken Sie OK
  5. Klicken Sie auf die Taste in der Liste und weisen Sie jeder Bedingung die Aktion Deaktiviert zu