簡體   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