首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用于检测远程设备无线电开\关的蓝牙API

用于检测远程设备无线电开\关的蓝牙API
EN

Stack Overflow用户
提问于 2009-11-04 18:02:16
回答 3查看 2.1K关注 0票数 1

目前,我正在使用针对Microsoft蓝牙堆栈的蓝牙API。我在C++上开发了一个蓝牙PC应用程序,它可以发现远程蓝牙设备,然后通过一些API对设备进行身份验证。问题是,当我从远程设备关闭蓝牙无线电,然后开始通过PC应用程序再次搜索设备时,即使远程设备无线电关闭,API仍然检测到远程设备。

我怀疑作为操作系统一部分的设备缓存没有得到更新。所以API返回相同的设备名称。

任何帮助找出为什么设备没有更新,以及任何指向蓝牙API的指针都将不胜感激。

EN

回答 3

Stack Overflow用户

发布于 2009-11-08 00:10:42

您使用的是什么API?有“未知”、“已记住”和“已验证”标志。有了WSALookupService..。例如,在dwOutputFlags字段中输出,请参见Bluetooth and WSAQUERYSET for Device Inquiry (Windows)

不幸的是,这意味着没有办法让“设备(在可发现模式下)在范围内”。:-(请参阅我的文档Bluetooth in Windows 7中的“仅列出可发现的设备”处的更多信息,特别是在脚注中。

票数 1
EN

Stack Overflow用户

发布于 2012-03-12 19:21:08

如果你需要一些关于如何处理这个问题的想法,你应该看看手中的蓝牙库(源码可用),以了解他们是如何做到的。http://32feet.net/我使用这个库,我可以获得范围内的远程设备(预先配对)的列表。

票数 1
EN

Stack Overflow用户

发布于 2013-12-25 23:58:33

验证后,该设备将添加到已验证的设备列表中。您需要首先从此列表中删除您的设备。

因此,在再次搜索设备之前,您可以使用BluetoothFindFirstDevice和BluetoothFindNexttDevice根据类或友好名称遍历设备的已验证devices.Filter列表,并通过调用BluetoothRemoveDevice将其删除。

下次如果您在设备关闭时调用身份验证API,它将失败并给出timeout error.Now you know device is off!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1672783

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档