【发布时间】:2017-12-16 19:17:37
【问题描述】:
我们正在开发一个应用程序,该应用程序在带有内置条码扫描器的 Android 设备上运行。我们正在尝试识别文本输入是来自软键盘还是来自条形码扫描仪,因为我们希望让输入文本框的行为有所不同。
例如,如果我们确定输入来自条形码扫描仪,我们希望删除现有文本以将其覆盖。如果它来自软键盘,我们想留下文本,因为用户仍在输入它。
现在我们正在获取字符之间的时间长度来决定它是来自键盘还是来自条形码扫描仪,但我试图弄清楚是否有一种方法可以识别来自 android 的输入源。
也许这在很大程度上取决于硬件细节,但希望我能从这里获得一些好的线索,谢谢!
【问题讨论】:
-
如果条形码扫描仪充当键盘附件,则它是硬件、Android 设备和操作系统特定的。 (高端)扫描仪通常有一个 SDK 可用于直接从扫描仪读取而不是允许它发送击键,因此您可以更好地控制扫描过程......您可以查看
KeyEvent的source到尝试判断是软键盘还是硬键盘
标签: android xamarin barcode android-softkeyboard