Ich entwickle eine Anwendung, mit der der Benutzer Barcodes mit einem über Bluetooth verbundenen externen Barcode-Scanner scannen kann. Der Barcode-Scanner fungiert als Tastatur, d. H. Android denkt, dass die gescannten Barcodes auf einer Tastatur eingegeben wurden.Eingaben von der Bluetooth-Tastatur zulassen, auch wenn der Bildschirm gesperrt ist
Die App funktioniert gut, solange der Bildschirm eingeschaltet bleibt.
Sobald der Bildschirm ausschaltet, kann ich mit dem Scannen von Barcodes fortfahren, aber der gescannte Text erreicht die App nicht mehr, sondern ruft Aktionen auf dem Sperrbildschirm auf.
Gibt es eine Möglichkeit, Eingaben von einer externen Tastatur zur App zuzulassen, obwohl der Bildschirm ausgeschaltet wurde?
Alternativ muss ich den Bildschirm zwingen, eingeschaltet zu bleiben, aber dies ist nicht kugelsicher, da der Benutzer den Bildschirm versehentlich sperren könnte.
UPDATE
ich mit einem kleinen Schritt in die richtige Richtung gemacht haben:
getWindow().addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED);
dies die App ohne die (nicht abgesichert) Sperre Bildschirm angezeigt, wenn ein neuer Eingang von der Tastatur wird verarbeitet. Leider fehlt der erste Buchstabe. Dies muss dadurch verursacht werden, dass der erste Buchstabe den Bildschirm aufweckt und der Rest des Eingangs tatsächlich die EditText
erreicht.
diesen Code zu Ihrem Scanner Aktivität hinzufügen 'getWindow() addFlags (WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);' und fügen Sie diese Berechtigung in einem offenkundigen ' '. du bist fertig. –
Abhängig von der Version können Sie ein Widget zum Hinzufügen auf dem Sperrbildschirm entwickeln. Dies könnte den Keyboad (BT-Scanner) hören und die Daten an Ihre Aktivität senden. – AxelH