1. Nimm jetzt an unserem 2. ADVENT-Gewinnspiel teil - Alle Informationen findest Du hier!

Home-Taste sperren

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von Baweg, 09.09.2011.

  1. Baweg, 09.09.2011 #1
    Baweg

    Baweg Threadstarter Neuer Benutzer

    Beiträge:
    7
    Erhaltene Danke:
    0
    Registriert seit:
    16.07.2010
    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
     
  2. sixi, 09.09.2011 #2
    sixi

    sixi Erfahrener Benutzer

    Beiträge:
    237
    Erhaltene Danke:
    64
    Registriert seit:
    20.01.2009
    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 :)
     
  3. Baweg, 09.09.2011 #3
    Baweg

    Baweg Threadstarter Neuer Benutzer

    Beiträge:
    7
    Erhaltene Danke:
    0
    Registriert seit:
    16.07.2010
    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
     

Diese Seite empfehlen