该 API 还在 beta 测试中,仅对 beta 分支dev 分支的 Chrome 用户可用。

chrome.bluetooth

描述 使用 chrome.bluetooth API 连接到蓝牙设备。所有函数都通过 runtime.lastError 报告错误。
可用版本 从 Chrome 37 开始支持。警告:目前为 Beta 分支。了解更多内容
清单文件 "bluetooth": {...}
了解更多 蓝牙

摘要

类型
AdapterState
Device
方法
getAdapterState chrome.bluetooth.getAdapterState(function callback)
getDevice chrome.bluetooth.getDevice(string deviceAddress, function callback)
getDevices chrome.bluetooth.getDevices(function callback)
startDiscovery chrome.bluetooth.startDiscovery(function callback)
stopDiscovery chrome.bluetooth.stopDiscovery(function callback)
事件
onAdapterStateChanged
onDeviceAdded
onDeviceChanged
onDeviceRemoved

类型

AdapterState

属性
string address

适配器的地址,格式为“XX:XX:XX:XX:XX:XX”。

string name

可读的适配器名称。

boolean powered

表示适配器有没有电源。

boolean available

表示适配器是否可用(即已启用)。

boolean discovering

表示适配器目前是否正在进行发现操作。

Device

属性
string address

设备地址,格式为'XX:XX:XX:XX:XX:XX'。

string (可选)
name

可读的设备名称。

integer (可选)
deviceClass

设备类型,以位域表示,参见 https://www.bluetooth.org/zh-cn/specification/assigned-numbers/baseband

enum of "bluetooth", or "usb" (可选)
vendorIdSource

设备的设备标识符记录(如果可用)。

integer (可选)
vendorId
integer (可选)
productId
integer (可选)
deviceId
enum of "computer", "phone", "modem", "audio", "carAudio", "video", "peripheral", "joystick", "gamepad", "keyboard", "mouse", "tablet", or "keyboardMouseCombo" (可选)
type

如果 Chrome 浏览器能够识别的话则为设备类型,通过 deviceClass 字段获取,仅包括可用设备类型中的一小部分。如果有疑问您应该直接使用 deviceClass 字段。

boolean (可选)
paired

表示设备是否已和系统配对。

boolean (可选)
connected

表示设备当前是否已连接到系统。

array of string (可选)
uuids

设备支持的协议、配置文件和服务的 UUID。对于传统蓝牙设备来说,这一列表可以从 EIR 数据和 SDP 表中获取。对于低功耗设备,可以从 AD 和 GATT 主服务获取。对于双模式设备,可以从这两者获取。

方法

getAdapterState

chrome.bluetooth.getAdapterState(function callback)

获取蓝牙适配器的有关信息。

参数
function callback

调用时传递 AdapterState 对象,描述适配器状态。

callback 参数应该是一个如下形式的函数:

function( AdapterState adapterInfo) {...};
AdapterState adapterInfo

包含适配器信息的对象。

getDevice

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

获取系统已知的蓝牙设备信息。

参数
string deviceAddress

要获取的设备的地址。

function callback

调用时传递 Device 对象描述设备。

callback 参数应该是一个如下形式的函数:

function( Device deviceInfo) {...};
Device deviceInfo

包含设备信息的对象。

getDevices

chrome.bluetooth.getDevices(function callback)

获取系统已知的蓝牙设备列表,包括已配对或以前发现的设备。

参数
function callback

搜索完成后调用。

callback 参数应该是一个如下形式的函数:

function(array of Device deviceInfos) {...};
array of Device deviceInfos

包含设备信息的对象数组。

startDiscovery

chrome.bluetooth.startDiscovery(function callback)

开始发现,新发现的设备通过 onDeviceAdded 事件返回。之前发现并且适配器已知的设备必须通过 getDevices 获取,如果设备的有关信息更改则会产生 onDeviceChanged 事件。

如果应用已经调用了 startDiscovery 则发现操作会失败。发现操作需要消耗很多资源:您应该尽快调用 stopDiscovery。

参数
function (可选)
callback

调用时指示成功或失败。

如果您指定了 callback 参数,它应该是一个如下形式的函数:

function() {...};

stopDiscovery

chrome.bluetooth.stopDiscovery(function callback)

停止发现。

参数
function (可选)
callback

调用时指示成功或失败。

如果您指定了 callback 参数,它应该是一个如下形式的函数:

function() {...};

事件

onAdapterStateChanged

当蓝牙适配器的状态更改时产生。

addListener

chrome.bluetooth.onAdapterStateChanged.addListener(function callback)
参数
function callback

callback 参数应该是一个如下形式的函数:

function( AdapterState state) {...};
AdapterState state

适配器的新状态。

onDeviceAdded

新的蓝牙设备有关信息可用时产生。

addListener

chrome.bluetooth.onDeviceAdded.addListener(function callback)
参数
function callback

callback 参数应该是一个如下形式的函数:

function( Device device) {...};
Device device

onDeviceChanged

已知蓝牙设备的有关信息更改时产生。

addListener

chrome.bluetooth.onDeviceChanged.addListener(function callback)
参数
function callback

callback 参数应该是一个如下形式的函数:

function( Device device) {...};
Device device

onDeviceRemoved

之前发现的蓝牙设备很长时间不在范围内,视为不再可用时,或者配对的设备移除时产生。

addListener

chrome.bluetooth.onDeviceRemoved.addListener(function callback)
参数
function callback

callback 参数应该是一个如下形式的函数:

function( Device device) {...};
Device device