chrome.bluetooth

Описание

Используйте API chrome.bluetooth для подключения к устройству Bluetooth. Все функции сообщают об ошибках через chrome.runtime.lastError.

Доступность

Только для ChromeOS

Манифест

Чтобы использовать этот API, в манифесте нужно объявить следующие ключи:

"bluetooth"

Типы

AdapterState

Свойства

  • Обращаться (к определенному вопросу)

    string

    Адрес адаптера в формате XX:XX:XX:XX:XX:XX.

  • доступно

    Логическое значение

    Указывает, доступен ли адаптер (т.е. включен ли он).

  • обнаружение

    Логическое значение

    Указывает, выполняет ли адаптер поиск в данный момент.

  • name

    string

    Человекочитаемое название адаптера.

  • powered

    Логическое значение

    Указывает, подключен ли адаптер к источнику питания.

BluetoothFilter

Chrome 67 и более поздних версий

Свойства

  • filterType

    FilterType необязательный

    Тип фильтра, который нужно применить к списку устройств. По умолчанию выбраны все.

  • лимит

    number (необязательно)

    Максимальное количество устройств Bluetooth, которые нужно вернуть. Если значение не указано, по умолчанию используется 0 (без ограничений).

Device

Свойства

  • Обращаться (к определенному вопросу)

    string

    Адрес устройства в формате XX:XX:XX:XX:XX:XX.

  • batteryPercentage

    number (необязательно)

    Chrome 77 и более поздних версий;

    Оставшийся заряд батареи устройства.

  • connectable

    Логическое значение (необязательно)

    Chrome 48 и более поздних версий;

    Указывает, можно ли подключиться к устройству.

  • подключено

    Логическое значение (необязательно)

    Указывает, подключено ли устройство к системе.

  • подключение

    Логическое значение (необязательно)

    Chrome 48 и более поздних версий;

    Указывает, подключается ли устройство к системе в данный момент.

  • deviceClass

    number (необязательно)

    Класс устройства, битовое поле, определенное по адресу http://www.bluetooth.org/en-us/specification/assigned-numbers/baseband.

  • deviceId

    number (необязательно)

  • inquiryRssi

    number (необязательно)

    Chrome 44 и более поздних версий;

    Уровень принимаемого сигнала в дБм. Это поле доступно и действительно только во время обнаружения. Вне обнаружения его значение не указано.

  • inquiryTxPower

    number (необязательно)

    Chrome 44 и более поздних версий;

    Уровень мощности передачи. Это поле доступно только для устройств LE, у которых оно есть в AD. Оно доступно и действительно только во время обнаружения.

  • name

    Строка (необязательно)

    Человекочитаемое название устройства.

  • связано

    Логическое значение (необязательно)

    Указывает, подключено ли устройство к системе.

  • идентификаторТовара

    number (необязательно)

  • транспорт

    Транспорт необязательный

    Chrome 76 и более поздних версий;

    Тип транспорта устройства Bluetooth.

  • тип

    DeviceType необязательный

    Тип устройства, если он распознан Chrome. Эти данные берутся из поля deviceClass и представляют лишь небольшую часть возможных типов устройств. Если вы не уверены, используйте поле deviceClass.

  • UUID

    string[] необязательно

    UUID протоколов, профилей и сервисов, рекламируемых устройством. Для классических устройств Bluetooth этот список формируется на основе данных EIR и таблиц SDP. Для устройств с низким энергопотреблением этот список получается из основных сервисов AD и GATT. Для устройств с двумя режимами работы это может быть получено от обоих.

  • vendorId

    number (необязательно)

  • vendorIdSource

    VendorIdSource необязательный

    Идентификатор устройства (если доступен).

DeviceType

Распространенные типы устройств, распознаваемые Chrome.

Перечисление

"computer"

"phone"

"modem"

"audio"

"carAudio"

"video"

"peripheral"

"joystick"

"gamepad"

"keyboard"

"mouse"

"tablet"

"keyboardMouseCombo"

FilterType

Chrome 67 и более поздних версий

Типы для фильтрации устройств Bluetooth.

Перечисление

"all"

"known"

Transport

Chrome 76 и более поздних версий;

Тип транспорта устройства Bluetooth.

Перечисление

"invalid"

"classic"

"le"

"dual"

VendorIdSource

Органы, распределяющие идентификаторы поставщиков.

Перечисление

"bluetooth"

"usb"

Методы

getAdapterState()

Promise
chrome.bluetooth.getAdapterState(
  callback?: function,
)
: Promise<AdapterState>

Получение информации об адаптере Bluetooth.

Параметры

  • обратный вызов

    function необязательно

    Параметр callback выглядит следующим образом:

    (adapterInfo: AdapterState) => void

    • adapterInfo

      Объект, содержащий информацию об адаптере.

Возвраты

  • Promise<AdapterState>

    Chrome 91 и более поздних версий

    Объекты Promise поддерживаются только в Manifest V3 и более поздних версиях. На других платформах нужно использовать обратные вызовы.

getDevice()

Promise
chrome.bluetooth.getDevice(
  deviceAddress: string,
  callback?: function,
)
: Promise<Device>

Получение информации об устройстве Bluetooth, известном системе.

Параметры

  • deviceAddress

    string

    Адрес устройства, который нужно получить.

  • обратный вызов

    function необязательно

    Параметр callback выглядит следующим образом:

    (deviceInfo: Device) => void

    • Объект, содержащий информацию об устройстве.

Возвраты

  • Promise<Device>

    Chrome 91 и более поздних версий

    Объекты Promise поддерживаются только в Manifest V3 и более поздних версиях. На других платформах нужно использовать обратные вызовы.

getDevices()

Promise
chrome.bluetooth.getDevices(
  filter?: BluetoothFilter,
  callback?: function,
)
: Promise<Device[]>

Получить список устройств Bluetooth, известных системе, включая сопряженные и недавно обнаруженные устройства.

Параметры

  • фильтр

    BluetoothFilter необязательный

    Chrome 67 и более поздних версий

    Критерии для фильтрации списка возвращенных устройств Bluetooth. Если фильтр не задан или для него установлено значение {}, возвращенный список устройств будет содержать все устройства Bluetooth. В настоящее время это поддерживается только в ChromeOS. Для других платформ возвращается полный список.

  • обратный вызов

    function необязательно

    Параметр callback выглядит следующим образом:

    (deviceInfos: Device[]) => void

    • deviceInfos

      Массив объектов, содержащих информацию об устройстве.

Возвраты

  • Promise<Device[]>

    Chrome 91 и более поздних версий

    Объекты Promise поддерживаются только в Manifest V3 и более поздних версиях. На других платформах нужно использовать обратные вызовы.

startDiscovery()

Promise
chrome.bluetooth.startDiscovery(
  callback?: function,
)
: Promise<void>

Начните поиск. Обнаруженные устройства будут возвращены через событие onDeviceAdded. Ранее обнаруженные устройства, уже известные адаптеру, должны быть получены с помощью getDevices и будут обновлены с помощью события onDeviceChanged только в том случае, если информация о них изменится.

Поиск не начнется, если это приложение уже вызвало startDiscovery. Поиск может требовать много ресурсов, поэтому stopDiscovery нужно вызывать как можно скорее.

Параметры

  • обратный вызов

    function необязательно

    Параметр callback выглядит следующим образом:

    () => void

Возвраты

  • Promise<void>

    Chrome 91 и более поздних версий

    Объекты Promise поддерживаются только в Manifest V3 и более поздних версиях. На других платформах нужно использовать обратные вызовы.

stopDiscovery()

Promise
chrome.bluetooth.stopDiscovery(
  callback?: function,
)
: Promise<void>

Остановить поиск.

Параметры

  • обратный вызов

    function необязательно

    Параметр callback выглядит следующим образом:

    () => void

Возвраты

  • Promise<void>

    Chrome 91 и более поздних версий

    Объекты Promise поддерживаются только в Manifest V3 и более поздних версиях. На других платформах нужно использовать обратные вызовы.

События

onAdapterStateChanged

chrome.bluetooth.onAdapterStateChanged.addListener(
  callback: function,
)

Срабатывает при изменении состояния адаптера Bluetooth.

Параметры

  • обратный вызов

    function

    Параметр callback выглядит следующим образом:

    (state: AdapterState) => void

onDeviceAdded

chrome.bluetooth.onDeviceAdded.addListener(
  callback: function,
)

Срабатывает, когда доступна информация о новом устройстве Bluetooth.

Параметры

  • обратный вызов

    function

    Параметр callback выглядит следующим образом:

    (device: Device) => void

onDeviceChanged

chrome.bluetooth.onDeviceChanged.addListener(
  callback: function,
)

Срабатывает, когда изменяется информация об известном устройстве Bluetooth.

Параметры

  • обратный вызов

    function

    Параметр callback выглядит следующим образом:

    (device: Device) => void

onDeviceRemoved

chrome.bluetooth.onDeviceRemoved.addListener(
  callback: function,
)

Срабатывает, когда ранее обнаруженное устройство Bluetooth находится вне зоны действия достаточно долго, чтобы снова считаться недоступным, и когда подключенное устройство удаляется.

Параметры

  • обратный вызов

    function

    Параметр callback выглядит следующим образом:

    (device: Device) => void