我正在开发一个应用程序,让用户使用通过蓝牙连接的外部条形码扫描仪扫描条形码。条码扫描器充当键盘,即Android 认为扫描的条码已在键盘上输入。
只要屏幕保持打开状态,该应用程序就可以正常工作。
屏幕关闭后,我可以继续扫描条形码,但扫描的文本不再到达应用程序,而是调用锁定屏幕上的操作。
尽管屏幕已关闭,有没有办法允许从外部键盘输入到应用程序?
或者,我将不得不强制屏幕保持打开状态,但这不是防弹的,因为用户可能会不小心锁定屏幕。
更新
通过使用,我朝着正确的方向迈出了一小步:
getWindow().addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED);
当处理来自键盘的新输入时,这将显示没有(非安全)锁定屏幕的应用程序。不幸的是,第一个字母不见了。这必须是由唤醒屏幕的第一个字母和实际到达EditText
.