UWP 应用程序中的蓝牙连接通知

Notification of Bluetooth connection in UWP app

我在 Windows 10 上的 WinForms 应用程序中使用 Windows.Devices API。我正在连接蓝牙条码扫描器。连接工作正常,当建立连接以及断开连接(断开连接)时,我都会收到一个事件。 但是当我更换扫描仪的电池并且扫描仪重新连接到 Windows 时,我没有收到任何事件。 我现在的问题是:当设备通过蓝牙重新连接时是否有可能获得事件?

我的需要是在设备通过蓝牙重新连接后将套接字重新连接到设备。

编辑:尊敬的管理员,这是不是 WinForms 问题。这个问题甚至根本不涉及 UI 。这只是 Windows.Devices UWP API 的一个 API 问题。请停止建议更改标签。

谢谢 斯文

一些示例代码:

_device = await BluetoothDevice.FromBluetoothAddressAsync(decimalAddress);
_device.ConnectionStatusChanged += OnDeviceConnectionStatusChanged;

仅在首次连接和断开设备时调用事件:

private void OnDeviceConnectionStatusChanged(BluetoothDevice sender, object args)
{
}

到目前为止,我发现事件不再发生似乎很常见。必须主动创建与设备的新连接,例如,通过打开套接字来接收数据。 所以我的问题的解决方案是通过调用

连接到蓝牙设备
StreamSocket.ConnectAsync()

再次建立新连接。之后 ConnectionStatusChanged 被提升为连接状态。

祝你好运

斯文