Home-Taste sperren

B

Baweg

Neues Mitglied
0
Hi,
ich schreibe ein App welches in einem wissenschaftlichen Versuch eingesetzt werden soll.
Mir ist aufgefallen, dass der User schnell mal versehentlich auf den Home-Button kommen kann und das würde den Versuch nur stören.

Die einzige Möglichkeit, die ich gefunden habe den Home-Button in meiner App zu sperren ist es, meine App als Keyguard bzw. Keyguard-Dialog zu starten.
Allerdings verhält sich die GUI dann nicht mehr so wie sie soll.
Ich füge drei Views zu einer ViewGroup hinzu und setze die ViewGroup dann auf die Activity. Zu unterst liegt eine Kamera-View, dann kommt eine OpenGL-View und zum Schluss eine Overlay-View um Texte über alle anderen Inhalte zu zeichnen.

Im normalen Modus werden diese auch in der korrekten Reihenfolge angezeigt, doch wenn ich Keyguard oder Keyguard-Dialog aktiviere liegt auf einmal mein Overlay-View hinter allen anderen oder meine OpenGL-View ist ganz unten. Egal in welcher Reihenfolge ich die Views zur ViewGroup hinzufüge, komme ich nicht zu meiner gewünschten Anzeige.

Weiß jemand was man da machen kann oder kennt jemand einen anderen Weg den Home-Button zu deaktivieren.

Von mir aus deaktiviere ich den Home-Button auch komplett im System.
Das Gerät ist auch gerootet.

Gruß
Baweg
 
Hi Baweg,

ich hab ähnliches (bei mir ging es um den Power-Button) mal aufm Tablet gemacht, bin da über das System selbst gegangen: in /system/usr/keylayout/qwerty.kl (Standard-Tastatur) kommentierst du einfach die Buttons aus, die nichtmehr Funktionieren sollen.
Hier gibts ein bisschen was über die Keymaps. In der theorie müsste man da ja auch sein eigenes Mapping anlegen können (á la "MeineKeyMapOhneHome") - und die zumind. theoretisch ad-hoc laden können. Aber den Part hab ich nie ausprobiert, war damit zufrieden das der Knopf nichtmehr funktionierte :)
 
Vielen Dank, habe es jetzt auch so gelöst :)
Wäre zwar wirklich schöner wenn ich es in meinem App deaktivieren könnte, aber für den Versuch reicht es erstmal, dass der Home-Button komplett im System deaktiviert ist.

Falls nochmal jemand so etwas benötigt:
1) system-Partition als read/write mounten
2) Buttons in den Mapping-Dateien auskommentieren

Mount-Pfad, Typ des Dateisystems und der Dateiname können je nach System natürlich abweichen und das Gerät muss gerootet sein!

Gruß
Baweg
 

Ähnliche Themen

A
Antworten
3
Aufrufe
684
swa00
swa00
MES
Antworten
10
Aufrufe
823
MES
MES
A
Antworten
1
Aufrufe
642
swa00
swa00
Zurück
Oben Unten