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