2016-07-25 63 views
1

Meine Android-App möchte die externe Mausbewegung verfolgen (entweder Bluetooth-Maus oder USB-Maus).Wie kann man ein Mausereignis überwachen, wenn es aus dem Bildschirm des Android-Geräts entfernt wird?

Ich schrieb eine benutzerdefinierte Ansicht, um die Mausereignisse zu überwachen, aber die Ereignisse beenden die Produktion, wenn die Maus an den Rand des Bildschirms bewegt. Ich kann verstehen, dass in den meisten Fällen die Bewegung, die außerhalb des Gerätebildschirms auftritt, nicht verfolgt werden muss. Aber ich muss diese Art von Mausbewegung überwachen.

Ich denke, es kann von der Low-Level-API überwacht werden. Aber kann mir jemand in die richtige Richtung zeigen? Vielen Dank.

Antwort

0

gut ... wie wäre es, dass Sie bekam den Schlüssel-Ereignis, wenn eine Benutzereingabe der Bank Passwort ......

Sie können nicht das Schlüsselereignis, wenn Ihre Tätigkeit oder die Dienstleistung nicht aktiv, aber Sie können kapern das Ereignis von niedrigem Niveau.

Sie können zuerst den/dev/input/eventX r/w-Wert ändern, da alle Ereignisse hierher kommen, d. H. Alle Eingabeereignisse. dann müssen Sie ein C-Programm schreiben, z. zu einer dynamischen Bibliothek, um das Ereignis auszuwählen oder zu epollieren. schließlich können Sie eine JNI-API implementieren, um das Ereignis aus Ihren Apps zu erhalten.

Hier sind wir.

+0

Vielen Dank für Ihre Informationen. Sieht aus, dass das Android-Gerät gerootet werden muss, bevor man/dev/input/eventX liest, richtig? Das ist in meinem Anwendungsfall nicht erlaubt. – cmoaciopm

+0

Ja. wenn alle Apps das können, was bedeutet, dass die Welt nicht mehr sicher ist ... –