繁体   English   中英

如何在Windows 10 UWP中丢失连接后以编程方式连接到配对的蓝牙设备

[英]How to programmatically connect to paired Bluetooth device once connection is lost in Windows 10 UWP

我有一个Windows 10 UWP应用程序,能够以编程方式与蓝牙LE设备配对。 配对成功后,还会建立与设备的连接。

如果在某些时候,设备断开连接,我无法从LE设备读取任何GattCharacteristics。 我能够检查连接是否存在,但我无法重新建立连接。

DeviceInformation deviceInfo = await DeviceInformation.CreateFromIdAsync("deviceId", "additionalProperties", "DeviceInformationKind");

if(deviceInfo.ConnectionStatus != BluetoothConnectionStatus.Connected) { // re-establish the connection }

谢谢。

问题

蓝牙LE设备不存储在配对过程中创建的绑定信息。 绑定信息允许两个先前配对的设备在断开连接时启动新连接。

Windows 10解决方案

使用应用内配对API ,您可以通过编程方式告知系统与蓝牙LE设备配对(听起来您已经在这样做了)。 要解决上述绑定问题,必须将DevicePairingProtectionLevel设置为None 因此,您的应用内配对代码可能如下所示:

var result = await someDevice.Pairing.PairAsync(DevicePairingProtectionLevel.None);

DevicePairingProtectionLevel设置为None告诉系统忽略绑定信息并只查找匹配的设备。

外围解决方案

或者,如果您可以访问外围设备的固件,则可以将其设置为记住绑定信息。 然后你在Windows 10上的当前配对调用应该工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM