UWP 维护条码扫描器 D75e - 问题

UWP maintaining barcode scanner D75e - problem

我初始化了 DeviceWatcher ... 工作正常,我添加了 Honeywell Ring Scanner,它引发了事件 deviceWatcher。当我删除霍尼韦尔 USB 环形扫描器时,它会引发事件 DeviceWatcher_Removed,其中我将 ClaimedBarcodeScannerBarcodeScanner 对象设为空,并且 DeviceWatcher_Updated 其中 return 状态为 STOP

在我连接 Ring Scanner 后,App 中没有任何反应。如果我重新启动应用程序,它会一直工作,直到我断开连接并连接 Ring Scanner。

我需要从应用中释放 BrcodeScanner

我试穿 Honeywell D75e Win 10 iotHoneywell Ring Scanner 8620903

我也试试空闲内存...

GC.Collect();
GC.WaitForPendingFinalizers();

我尝试处理 ClaimedBarcodeScanner

当您断开设备连接时,它会引发设备移除事件,但需要正确取消所有挂起的操作,并且需要清理所有资源。请参考EventHandlerForDevice中的以下代码。代码中的回调用于显式关闭设备是为了清理资源,正确处理错误,停止与断开连接的设备通信。

    private async void CloseCurrentlyConnectedDevice()
    {
        if (device != null)
        {
            // Notify callback that we're about to close the device
            if (deviceCloseCallback != null)
            {
                deviceCloseCallback(this, deviceInformation);
            }

            // This closes the handle to the device
            device.Dispose();

            device = null;
        }
    }