暂时关闭 Socket 7Xi 条码扫描仪上的蜂鸣声

Temporarily silencing beep on Socket 7Xi barcode scanner

我正在将 Socket iOS SDK 与 7Xi 扫描仪一起使用。如果用户在站立模式下将条形码放在扫描仪前面,扫描仪的速度足以快速连续地记录重复扫描。为了处理这个问题,我只是在第一次扫描到达时删除我的扫描委托,并且在我准备好进行下一次扫描之前不再设置它。

当然,扫描仪本身会继续扫描。在我处理扫描时,有没有什么方法可以使蜂鸣声静音,这样我的用户就不会认为应用程序没有正确接收到扫描。它必须足够快,我可以在一秒钟左右的时间内可靠地重新启用它。

背景

扫描器具有三种确认模式(设备、sdk 和应用程序),用于确定谁负责确认已扫描条码。默认为设备,它将确认任何成功的扫描(即支持条形码类型并且设备成功解码条形码)。

解决方案

选项 1

目前,您删除了扫描委托,这不会阻止扫描器扫描下一个条码;它只会阻止您的应用程序接收事件通知。您为 ScanApiHelper 提供一个计时器例程,该例程调用 doReceive 来检查新事件,如果找到一个,它会调用您的委托。

您可以向计时器添加一个标志,这样它只会在您准备好处理下一个事件时调用 doReceive

这种方法有两个限制。如果提供了重要的反馈,当扫描在队列中时,设备确认和来自应用程序的反馈之间会有延迟。其次,队列仅适用于处理短暂的突发 activity,但您的应用程序需要停机时间才能恢复。

选项 2

警告:我不确定这是否适用于演示模式

将确认模式切换到应用程序,让您的应用程序在完成处理后确认条形码。这样做的好处是基本上锁定了扫描仪(它不会在任何扫描时发出哔哔声、闪烁或振动),除非您的应用程序已收到并处理了条形码。

这里的缺点是在使用应用程序确认模式时,读取条码和扫描器确认条码之间存在小的延迟。在处理数据时添加额外的延迟可能不是最佳的用户体验。