Ich habe eine Windows 10 UWP-App, die programmgesteuert mit einem Bluetooth LE-Gerät gekoppelt werden kann. Sobald die Kopplung erfolgreich ist, wird auch eine Verbindung zum Gerät hergestellt.Wie programmgesteuert eine Verbindung zu einem gekoppelten Bluetooth-Gerät herstellen, sobald die Verbindung in Windows 10 verloren ist UWP
Wenn das Gerät irgendwann getrennt wird, kann ich keine der GattCharacteristics vom LE-Gerät lesen. Ich kann überprüfen, ob die Verbindung vorhanden ist oder nicht, aber ich kann die Verbindung nicht wiederherstellen.
DeviceInformation deviceInfo = await DeviceInformation.CreateFromIdAsync("deviceId", "additionalProperties", "DeviceInformationKind");
if(deviceInfo.ConnectionStatus != BluetoothConnectionStatus.Connected) { // re-establish the connection }
Danke.
+1 Danke für die Erklärung. Wenn Sie DevicePairingProtectionLevel auf None festlegen, scheint dies beim Zugriff auf die Daten zu helfen. Obwohl mir irgendwann auffiel, schien die Verbindung zu funktionieren. Ich teste, um die Konsistenz zu überprüfen. Leider habe ich keinen Zugriff auf die Firmware des Peripheriegeräts. Daher werde ich mit der oben beschriebenen Windows 10-Lösung fortfahren. Vielen Dank! –
Auch ich kann die Verbindung in meinem Programm nicht wiederherstellen. Es funktioniert gut nach der anfänglichen Verschönerung, aber zu einem späteren Zeitpunkt verbindet es sich nie wieder. Ich verwende keine In-App-Kopplung, aber als Test habe ich den Windows Universal Samples-Code Scenario8_PairDevice.xaml.cs so geändert, dass DevicePairingProtectionLevel.None verwendet wird. Ich habe mein Gerät mit dem modifizierten Beispielcode gekoppelt. In meinem Programm konnte ich die Verbindung zu einem späteren Zeitpunkt noch nicht wiederherstellen. Wird DevicePairingProtectionLevel.None global gespeichert, sodass jedes Programm die Verbindung später wiederherstellen kann? – JFar
@JFar Ich bin nicht sicher, wie das Windows 10 Creative-Update dies ändert (ich erwarte, dass es einige BT-Updates darin gibt), aber ich denke, dass 'DevicePairingProtectionLevel.None' global ist. Es kann sein, dass das Peripheriegerät, mit dem Sie eine Verbindung herstellen möchten, nicht als verbindbar angezeigt wird - können Sie es mit einem anderen Gerät anzeigen? – Carter