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 被提升为连接状态。
祝你好运
斯文
我在 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 被提升为连接状态。
祝你好运
斯文