UWP应用程序中的蓝牙连接通知

时间:2017-10-20 09:00:13

标签: c# bluetooth uwp windows-store-apps microsoft-metro

我在Windows 10的WinForms应用程序中使用Windows.Devices API。我正在连接蓝牙条码扫描器。连接工作正常,我在建立连接时以及连接断开(断开连接)时获得事件。 但是当我更换扫描仪中的电池并且扫描仪重新连接到Windows时,我没有得到任何事件。 我现在的问题是:当设备通过Bleutooth重新连接时,是否有可能获得活动?

我需要在通过蓝牙重新连接设备后重新将插座连接到设备。

编辑:亲爱的管理员,这是而不是 WinForms问题。这个问题甚至根本不涉及UI。它只是Windows.Devices UWP API的API问题。请停止建议更改标签。

由于 斯文

一些示例代码:

class ViewModel {
   // other methods, fields

   // ViewModel can call returnToPreviousScreen.onComplete()
   CompletableSubject returnToPreviousScreen = CompletableSubject.create();

   Completable returnToPreviousScreen() { return returnToPreviousScreen; }
}

仅在第一次连接和断开设备时调用事件:

observeWhenToReturnToPreviousScreen

1 个答案:

答案 0 :(得分:0)

到目前为止我发现的事件似乎很常见,事件永远不会再次升起。必须主动创建到设备的新连接,即,例如通过打开用于接收数据的套接字。 因此我的问题的解决方案是通过调用

连接到蓝牙设备
StreamSocket.ConnectAsync()

再次建立新连接。之后,ConnectionStatusChanged将以状态连接的方式引发。

祝你好运

斯文