Vik*_*s C 5 c# bluetooth-lowenergy windows-10-universal
我有一个Windows 10 UWP应用程序,能够以编程方式与蓝牙LE设备配对.配对成功后,还会建立与设备的连接.
如果在某些时候,设备断开连接,我无法从LE设备读取任何GattCharacteristics.我能够检查连接是否存在,但我无法重新建立连接.
DeviceInformation deviceInfo = await DeviceInformation.CreateFromIdAsync("deviceId", "additionalProperties", "DeviceInformationKind");
if(deviceInfo.ConnectionStatus != BluetoothConnectionStatus.Connected) { // re-establish the connection }
Run Code Online (Sandbox Code Playgroud)
谢谢.
问题
蓝牙LE设备不存储在配对过程中创建的绑定信息.绑定信息允许两个先前配对的设备在断开连接时启动新连接.
Windows 10解决方案
使用应用内配对API,您可以通过编程方式告诉系统与蓝牙LE设备配对(听起来您已经这样做了).要解决上述绑定问题,DevicePairingProtectionLevel必须将其设置为None.因此,您的应用内配对代码可能如下所示:
var result = await someDevice.Pairing.PairAsync(DevicePairingProtectionLevel.None);
Run Code Online (Sandbox Code Playgroud)
设置DevicePairingProtectionLevelto None告诉系统忽略绑定信息,只需查找匹配的设备.
外围解决方案
或者,如果您可以访问外围设备的固件,则可以将其设置为记住绑定信息.然后你在Windows 10上的当前配对调用应该工作.
| 归档时间: |
|
| 查看次数: |
4971 次 |
| 最近记录: |