Есть ли способ получить доступ к устройству пользователя через JS Bluetooth API, когда устройство уже подключено к компьJavascript

Форум по Javascript
Ответить
Гость
 Есть ли способ получить доступ к устройству пользователя через JS Bluetooth API, когда устройство уже подключено к компь

Сообщение Гость »


У меня есть код JS/React, который позволяет пользователю предоставить моему ИИ доступ к роботу micro:bit через Bluetooth, когда пользователь нажимает кнопку «Подключиться»:

const ConnectClicked = async () => { пытаться { // Запрос устройства Bluetooth const устройство = ожидание navigator.bluetooth.requestDevice( {acceptAllDevices: правда} ); setMicrobitDevice (устройство); // Подключаемся к серверу ГАТТ дождитесь устройства.gatt.connect(); // ...и т. д. Когда пользователь перезагружает страницу, я теряю соединение. Во время тестирования мой Mac оставался подключенным к устройству. Фактически, даже когда я вызываю microbitDevice.gatt.disconnect(), когда они нажимают кнопку «Отключить», мой Mac либо сохраняет соединение, либо мгновенно повторно подключается (это мгновенное повторное подключение происходит, когда я нажимаю «Отключиться» в своей ОС). настройки Bluetooth тоже). Мне нужно нажать «Забыть устройство», чтобы остановить его.

Проблема заключается в том, что navigator.bluetooth.requestDevice отображает только подключенные устройства. Насколько я понимаю, этот метод делает сразу две вещи: показывает доступные устройства и запрашивает разрешение моего кода на их использование. Даже если я попытаюсь сохранить объект устройства, мне понадобится новое разрешение на перезагрузку, и я считаю, что единственный способ получить его через Bluetooth API — через navigator.bluetooth.requestDevice. Может кто-нибудь мне помочь? Я неправильно понимаю; Есть ли способ с помощью Bluetooth API получить разрешение на использование подключенного устройства или сохранить полученное разрешение при перезагрузке? Или есть другой способ использовать другой API? Спасибо.
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»