На момент написания этой статьи краткий ответ - нет. Вы не можете отобразить свой собственный пользовательский интерфейс выбора для перечисления доступных устройств.
В настоящее время интерфейс Bluetooth предоставляет только методы для проверки, может ли пользовательский агент поддерживать Bluetooth (getAvailability()
), и для запроса устройство, использующее предоставленный браузером интерфейс выбора (requestDevice()
). Вызов функции requestDevice () возвращает Promise, который разрешается с помощью BluetoothDevice , который был выбран с помощью этого пользовательского интерфейса. Если пользовательский интерфейс выбора отсутствует, он просто возвращает первое устройство, соответствующее критериям.
Существует черновой API веб-сканирования Bluetooth , который включает requestLEScan функция, которую вы упомянули в своем вопросе. Эта функция позволит агенту пользователя сканировать рекламные объявления BLE. С этим API может работать сценарий использования, описанный в вашем вопросе (, показывающий список маяков - пример в проекте). Однако это не то же самое, что доступ к списку доступных пар Chrome Web Bluetooth (который является названием вопроса). Это просто для получения рекламных пакетов. Как вы, наверное, знаете, не все устройства BLE отправляют рекламные пакеты.
Редактировать: Ранее я упоминал, что «BLE - это не то же самое, что Bluetooth (у которого нет рекламных возможностей)». Это правда. Однако более важное утверждение заключается в том, что веб-Bluetooth работает только с устройствами BLE.