Welcome Getting started API Reference Samples
Welcome Getting started API Reference Samples

chrome.bluetooth

Warning
This API is part of the deprecated Chrome Apps platform. Learn more about migrating your app.
  • Description

    Use the chrome.bluetooth API to connect to a Bluetooth device. All functions report failures via chrome.runtime.lastError.

Summary

Types

AdapterState

Properties

  • address
    string

    The address of the adapter, in the format 'XX:XX:XX:XX:XX:XX'.

  • available
    boolean

    Indicates whether or not the adapter is available (i.e. enabled).

  • discovering
    boolean

    Indicates whether or not the adapter is currently discovering.

  • name
    string

    The human-readable name of the adapter.

  • powered
    boolean

    Indicates whether or not the adapter has power.

BluetoothFilter

Properties

  • filterType
    FilterType optional

    Type of filter to apply to the device list. Default is all.

  • limit
    number optional

    Maximum number of bluetoth devices to return. Default is 0 (no limit) if unspecified.

Device

Properties

  • address
    string

    The address of the device, in the format 'XX:XX:XX:XX:XX:XX'.

  • batteryPercentage
    number optional

    The remaining battery of the device. TODO(https://crbug.com/973237): This field is only used by Chrome OS and it is different from others because it is not filled by the platform. In the future, when there is a unified Mojo service, this field will be moved to BluetoothDeviceInfo.

  • connectable
    boolean optional

    Indicates whether the device is connectable.

  • connected
    boolean optional

    Indicates whether the device is currently connected to the system.

  • connecting
    boolean optional

    Indicates whether the device is currently connecting to the system.

  • deviceClass
    number optional

    The class of the device, a bit-field defined by http://www.bluetooth.org/en-us/specification/assigned-numbers/baseband.

  • deviceId
    number optional
  • inquiryRssi
    number optional

    The received signal strength, in dBm. This field is avaliable and valid only during discovery. Outside of discovery it's value is not specified.

  • inquiryTxPower
    number optional

    The transmitted power level. This field is avaliable only for LE devices that include this field in AD. It is avaliable and valid only during discovery.

  • name
    string optional

    The human-readable name of the device.

  • paired
    boolean optional

    Indicates whether or not the device is paired with the system.

  • productId
    number optional
  • transport
    Transport optional

    The transport type of the bluetooth device.

  • type
    DeviceType optional

    The type of the device, if recognized by Chrome. This is obtained from the |deviceClass| field and only represents a small fraction of the possible device types. When in doubt you should use the |deviceClass| field directly.

  • uuids
    string[] optional

    UUIDs of protocols, profiles and services advertised by the device. For classic Bluetooth devices, this list is obtained from EIR data and SDP tables. For Low Energy devices, this list is obtained from AD and GATT primary services. For dual mode devices this may be obtained from both.

  • vendorId
    number optional
  • vendorIdSource

    The Device ID record of the device, where available.

DeviceType

Common device types recognized by Chrome.

Enum

"computer", "phone", "modem", "audio", "carAudio", "video", "peripheral", "joystick", "gamepad", "keyboard", "mouse", "tablet", or "keyboardMouseCombo"

FilterType

Types for filtering bluetooth devices.

Enum

"all", or "known"

Transport

Transport type of the bluetooth device.

Enum

"invalid", "classic", "le", or "dual"

VendorIdSource

Allocation authorities for Vendor IDs.

Enum

"bluetooth", or "usb"

Methods

getAdapterState

chrome.bluetooth.getAdapterState(callback: function)

Get information about the Bluetooth adapter.

Parameters

  • callback
    function

    Called with an AdapterState object describing the adapter state.

    The callback parameter should be a function that looks like this:

    (adapterInfo: AdapterState) => {...}
    • adapterInfo

      Object containing the adapter information.

getDevice

chrome.bluetooth.getDevice(deviceAddress: string, callback: function)

Get information about a Bluetooth device known to the system.

Parameters

  • deviceAddress
    string

    Address of device to get.

  • callback
    function

    Called with the Device object describing the device.

    The callback parameter should be a function that looks like this:

    (deviceInfo: Device) => {...}
    • deviceInfo

      Object containing the device information.

getDevices

chrome.bluetooth.getDevices(filter?: BluetoothFilter, callback: function)

Get a list of Bluetooth devices known to the system, including paired and recently discovered devices.

Parameters

  • filter

    Some criteria to filter the list of returned bluetooth devices. If the filter is not set or set to {}, returned device list will contain all bluetooth devices. Right now this is only supported in ChromeOS, for other platforms, a full list is returned.

  • callback
    function

    Called when the search is completed.

    The callback parameter should be a function that looks like this:

    (deviceInfos: Device[]) => {...}
    • deviceInfos

      Array of object containing device information.

startDiscovery

chrome.bluetooth.startDiscovery(callback: function)

Start discovery. Newly discovered devices will be returned via the onDeviceAdded event. Previously discovered devices already known to the adapter must be obtained using getDevices and will only be updated using the |onDeviceChanged| event if information about them changes.

Discovery will fail to start if this application has already called startDiscovery. Discovery can be resource intensive: stopDiscovery should be called as soon as possible.

Parameters

  • callback
    function

    Called to indicate success or failure.

    The callback parameter should be a function that looks like this:

    () => {...}

stopDiscovery

chrome.bluetooth.stopDiscovery(callback: function)

Stop discovery.

Parameters

  • callback
    function

    Called to indicate success or failure.

    The callback parameter should be a function that looks like this:

    () => {...}

Events

onAdapterStateChanged

chrome.bluetooth.onAdapterStateChanged.addListener(listener: function)

Fired when the state of the Bluetooth adapter changes.

Event

  • listener
    function

    The listener parameter should be a function that looks like this:

    (state: AdapterState) => {...}

onDeviceAdded

chrome.bluetooth.onDeviceAdded.addListener(listener: function)

Fired when information about a new Bluetooth device is available.

Event

  • listener
    function

    The listener parameter should be a function that looks like this:

    (device: Device) => {...}

onDeviceChanged

chrome.bluetooth.onDeviceChanged.addListener(listener: function)

Fired when information about a known Bluetooth device has changed.

Event

  • listener
    function

    The listener parameter should be a function that looks like this:

    (device: Device) => {...}

onDeviceRemoved

chrome.bluetooth.onDeviceRemoved.addListener(listener: function)

Fired when a Bluetooth device that was previously discovered has been out of range for long enough to be considered unavailable again, and when a paired device is removed.

Event

  • listener
    function

    The listener parameter should be a function that looks like this:

    (device: Device) => {...}
We serve cookies on this site to analyze traffic, remember your preferences, and optimize your experience.