微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

UWP C# 低功耗蓝牙:多个并发连接不起作用

如何解决UWP C# 低功耗蓝牙:多个并发连接不起作用

在我的 UWP Windows 10 应用程序中,我使用 Window.Devices.Bluetooth 扫描并连接到内部低功耗蓝牙设备。以下是用于连接的代码示例(内部设备的 mac 地址已知) 使用以下两个 API 的测试应用程序:

 using Windows.Devices.Bluetooth;
 using Windows.Devices.Bluetooth.GenericAttributeProfile;
 var bleDevice = BluetoothLEDevice.FromBluetoothAddressAsync
 var services = bleDevice.GetGattServicesAsync

对于多个设备广告,API GetGattServicesAsync 适用于第一个设备,但在第一个设备仍处于连接状态时尝试连接时返回“无法访问”状态。我们看到首先连接的任一设备的行为都相同。

类似的功能过去运行良好,但不适用于最新版本的 Windows 和 SDK(Windows 10 21H1,SDK 目标 19041,SDK 最低 17134)。

我是否缺少某些配置或不再支持功能。最小示例的源代码可在此处获得: https://drive.google.com/open?id=1SMU1LE6LJIxxvsj3MdLpHZJfJOUsd3vB

谢谢

解决方法

原来是联想 P52 笔记本电脑上的 BT 驱动程序有问题。该问题最初是通过使用外部 CSR4.0 加密狗而不是内部 BT 解决的。并且在最近的 Windows 更新到英特尔无线蓝牙驱动程序 v22.50.0.4 之后,多个连接也再次在内部 BT 上工作。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。