[英]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.