2017-10-20 35 views
1

J'utilise l'API Windows.Devices dans une application WinForms sous Windows 10. Je me connecte à un scanner de codes-barres Bluetooth. La connexion fonctionne correctement et j'obtiens un événement lorsque la connexion a été établie et aussi lorsque la connexion a été interrompue (déconnectée). Mais lorsque je change la pile dans le scanner et que le scanner se reconnecte à Windows, je ne reçois aucun événement. Ma question maintenant est: s'il y a une possibilité d'obtenir un événement lorsque l'appareil se reconnecte sur Bleutooth?Notification de connexion Bluetooth dans l'application UWP

Mon besoin est de reconnecter le socket à l'appareil après que l'appareil a été reconnecté par Bluetooth.

EDIT: Chers admins, c'est pas une question WinForms. Ce problème ne concerne même pas l'assurance-chômage. C'est juste un problème d'API avec l'API Windows.Devices UWP. S'il vous plaît arrêtez de suggérer de changer les tags.

Merci Sven

Quelques exemples de code:

_device = await BluetoothDevice.FromBluetoothAddressAsync(decimalAddress); 
_device.ConnectionStatusChanged += OnDeviceConnectionStatusChanged; 

événement est appelé uniquement sur la première connecter et déconnecter de l'appareil:

private void OnDeviceConnectionStatusChanged(BluetoothDevice sender, object args) 
{ 
} 

Répondre

0

Ce que j'ai trouvé à ce jour c'est qu'il semble très commun que l'événement ne se lève jamais plus. Il faut créer activement une nouvelle connexion à l'appareil, c'est-à-dire en ouvrant par exemple une socket pour recevoir des données. Donc la solution pour mon problème était de se connecter au périphérique Bluetooth en appelant

StreamSocket.ConnectAsync() 

à nouveau pour établir une nouvelle connexion. Ensuite, ConnectionStatusChanged est déclenché avec l'état connecté.

Bonne chance

Sven