我正在构建一个应用程序,其中包括其他功能应该能够扫描不同的条形码并处理获得的信息。该设备,此应用程序将运行(霍尼韦尔CT50)具有内置扫描仪。我知道ZXing但是对于这个应用程序,必须能够使用内置扫描仪,因为它更快更容易处理。
我的问题是如何在我的应用中正确集成这样的内置扫描仪。当扫描仪读取条形码时,相应的数字将始终发送到设备当前正在执行的任何操作。这意味着,例如,如果我创建一个文本字段并将焦点设置为它,一旦我扫描某些内容,这些数字就会被复制粘贴到此文本字段中,这意味着我不需要以某种方式以编程方式访问扫描程序。但是,这也意味着我的应用程序无法知道何时成功扫描了某些内容。我想阻止,在这个文本字段旁边有一个OK按钮,所以我需要告诉应用程序何时应该开始处理输入的数据。我无法通过TextChangedListener执行此操作,因为基本上,设备会将条形码的编号粘贴到文本字段中,而不是一次性粘贴整个内容,因此事件将在第一个数字后立即执行。
我知道可以(至少在这个设备上)为内置扫描仪定义前缀和后缀,所以我可以告诉它每次读取条形码时都要按下ENTER键并过滤这通过使用TextChangedListener。这样做的问题是,此设备上还有其他预安装的应用程序,如果这样的更改不幸,这将无法正常运行,这不是一个选项。
总而言之,我甚至不确定我是否以正确的方式接近这一点。似乎需要我以某种方式捕获内置扫描程序在我的应用程序的程序代码中触发的某些事件,但我不知道如何。
答案 0 :(得分:2)