1

对不起,如果问题标题有点混乱。

我正在尝试了解更多关于浏览器的 Web 蓝牙 api 的(有限)用例,我想知道是否有一种简单的方法可以返回所有检测到/扫描的蓝牙设备的列表。

正如您在使用提供的其中一个示例时在图像中看到的那样,当我们想要与设备配对时,Chrome 会向我们显示所有可用蓝牙设备的列表,在显示的列表中有我购买的信标列表。

在我的用例中,我只想在我自己的 UI 中显示我们在那里看到的信标列表,而不是实际与任何设备配对。但是我试过requestLEScan了,这似乎不是我想要的。

4

1 回答 1

1

在撰写本文时,简短的回答是否定的。您无法显示自己的选择器 UI 来列出可用设备。

目前,蓝牙接口只提供检查用户代理是否支持蓝牙(getAvailability())和使用浏览器提供的选择器 UI( )请求设备的方法requestDevice()。requestDevice ()函数调用返回一个 Promise,它使用通过该 UI 选择的BluetoothDevice进行解析。在没有选择器 UI 的情况下,它只返回符合条件的第一个设备。

有一个Draft Web Bluetooth Scanning API,其中包含您在问题中提到的requestLEScan函数。此功能将允许用户代理扫描 BLE 广告。使用此 API,您的问题中描述的用例可以工作(显示信标列表是草案中的示例)。但是,这与访问 Chrome Web 蓝牙可用对列表(即问题标题)不同。它只是用于接收广告数据包。您可能知道,并非所有 BLE 设备都发送广告数据包。

编辑:之前我提到“BLE 与蓝牙(没有广告功能)不同”。这是真实的。但是,更重要的声明是 Web 蓝牙仅适用于 BLE 设备。

于 2020-03-10T06:19:58.067 回答