我正在尝试使用 CoreBluetooth API 连接到心率监测器。
根据蓝牙规范,心率监测服务是0x180D .要了解蓝牙设备有哪些服务,您可以连接到它,然后请求可用的服务。如果设备服务之一是 0x180D你有一个心率监测器。不幸的是,这意味着要连接到附近的所有蓝牙设备来过滤心率监测器。
好在iOS有如下方法ptions:" rel="noreferrer noopener nofollow">-scanForPeripheralsWithServices:它会扫描广告特定服务的蓝牙设备。我遇到的问题是一些心率监测器宣传他们的服务,但有些没有。
其他应用如何连接到心率监测器?他们是否连接到附近的每个蓝牙设备以发现它是否是心率监测器?
Best Answer-推荐答案 strong>
核心蓝牙只能根据它知道的数据进行过滤。如果设备宣传 180D 服务,那么您的应用会在过滤时发现它。如果设备不宣传 180D,则 CB(或其他任何设备)没有其他信息可以使其有资格被选中。
因此,检测所有设备的唯一方法是扫描而不过滤特定服务。这是最简单、最有效的方法。
关于ios - 如何过滤心率监测器,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/25324692/
|