【发布时间】:2017-05-18 09:56:46
【问题描述】:
我正在尝试创建一个蓝牙管理器类型类。该课程将搜索在我的应用程序中列入白名单的所有已配对和未配对的蓝牙设备,并将它们添加到设备的内部列表中。
我使用以下代码进行此操作:
_deviceWatcher = DeviceInformation.CreateWatcher(_selector,
null, DeviceInformationKind.AssociationEndpoint);
以及订阅以下事件:
_deviceWatcher.Added += _deviceWatcher_Added;
_deviceWatcher.Removed += _deviceWatcher_Removed;
_deviceWatcher.EnumerationCompleted += _deviceWatcher_EnumerationCompleted;
如果我已列入白名单的蓝牙设备已打开,则设备观察程序会找到该设备。但如果我关闭设备,我永远不会收到“已移除”事件。
如果设备关闭并且我等待接收“枚举完成”事件,然后打开设备,我永远不会收到“添加”事件。
我尝试了 Microsoft 提供的示例(“DeviceEnumerationAndPairing”),但该示例的作用相同。
如果我保持程序运行并打开蓝牙设置,如下所示:
然后它按预期工作,我在关闭和关闭设备时收到“更新”和“删除”事件。
我是否需要激活某种扫描例程才能检测可用的蓝牙设备,如果需要,我该怎么做?
【问题讨论】: