单端蓝牙配对时如何不经过SMP流程建立BLE连接

问题描述 投票:0回答:1

Android手机与Windows电脑在蓝牙设置页面配对连接后,打开手机蓝牙界面即可解除与电脑的配对。此时,使用电脑发起与手机的BLE连接将触发SMP加密过程。当尝试数据交换时,将报告密钥丢失消息,然后 PC 将自行断开连接。使用什么Windows API可以在不触发SMP加密过程的情况下建立连接或使用其他方法断开连接而不报告密钥丢失消息并允许数据交换正常进行?

我尝试将 GattCharacteristic 的 ProtectionLevel 设置为最低级别,也尝试使用 GattSession MaintenanceConnection (true) 来维持连接,并尝试使用 GetGattServicesAsync()、GetGattServicesAsync(BluetoothCacheMode)、GetGattServicesForUuidAsync(Guid) 等 API, GetGattServicesForUuidAsync(Guid, BluetoothCacheMode) 来发起连接,但都无法避免密钥丢失和断开连接

winapi bluetooth-lowenergy pairing
1个回答
0
投票

虽然我认为有必要重新配对,但我还是咨询了蓝牙团队。

是时候做结论了,我附上回应。

我从 Stackoverflow 了解到的是,用户已经删除了 从手机端配对。目前,Windows 不提供任何 让应用程序知道配对已从 电话端。处理这种情况的一个干净方法是删除 从 Windows 端配对并再次启动配对过程。

如需进一步了解更多信息,您可以使用反馈中心应用向 Microsoft 发送有关此情况的反馈。

© www.soinside.com 2019 - 2024. All rights reserved.