BluetoothDevice - 表示特定脚本执行环境中的蓝牙设备

这是一个实验中的功能
此功能某些浏览器尚在开发中,请参考浏览器兼容性表格以得到在不同浏览器中适合使用的前缀。由于该功能对应的标准文档可能被重新修订,所以在未来版本的浏览器中该功能的语法和行为可能随之改变。

BluetoothDeviceWeb 蓝牙 API 的接口,表示特定脚本执行环境中的蓝牙设备。

接口

interface BluetoothDevice {
  readonly attribute DOMString id;
  readonly attribute DOMString? name;
  readonly attribute BluetoothRemoteGATTServer? gatt;
  readonly attribute FrozenArray uuids;

  Promise watchAdvertisements();
  void unwatchAdvertisements();
  readonly attribute boolean watchingAdvertisements;
};
BluetoothDevice implements EventTarget;
BluetoothDevice implements BluetoothDeviceEventHandlers;
BluetoothDevice implements CharacteristicEventHandlers;
BluetoothDevice implements ServiceEventHandlers;

属性

BluetoothDevice.id 只读

一个 DOMString,唯一标识一个设备。

BluetoothDevice.name 只读

一个 DOMString,表示设备可读名称。

BluetoothDevice.gatt 只读

对设备的 BluetoothRemoteGATTServer 的引用。

BluetoothDevice.uuids 只读

列出设备允许提供的当前来源访问的 GATT 服务的 UUID。

BluetoothDevice.watchingAdvertisements 只读

是否使用 BluetoothDevice.watchAdvertisements() 激活了广告。

非标准的 Chrome 操作系统属性

非标准
该功能是非标准的。请尽量不要在生产环境中使用它:因为每个用户不一定会正常运行。它的实现可能存在很大的不兼容性,并且将来可能会改变行为。

这些属性仅在 Google 的 Chrome OS 45 上实现,并已从 Chrome 52 中删除。

BluetoothDevice.adData 只读

一个 BluetoothAdvertisingData 实例,其中包含该设备收到的最新广告数据。

BluetoothDevice.deviceClass 只读

一个数字,表示蓝牙设备 “设备类别”。

BluetoothDevice.vendorIDSource 只读

device_information 服务 pnp_id 特性中的供应商 ID 来源字段。

BluetoothDevice.vendorID 只读

device_information 服务 pnp_id 特性中的 16 位供应商 ID 字段。

BluetoothDevice.productID 只读

device_information 服务 pnp_id 特性中的 16 位产品 ID 字段。

BluetoothDevice.productVersion 只读

device_information 服务 pnp_id特性中的 16 位产品版本字段。

BluetoothDevice.paired 只读

一个 Boolean 值,指示设备是否与系统配对。

BluetoothDevice.gattServer 只读

对设备 GATT 服务器的引用;如果设备已断开连接,则为 null

方法

BluetoothDevice.watchAdvertisments()

一个 Promise,解析为 undefined,如果由于任何原因而无法显示广告,则会被拒绝并显示错误。

BluetoothDevice.unwatchAdvertisments()

停止观看广告。

BluetoothDevice.connectGATT()

一个 Promise,解析为 BluetoothRemoteGATTServer 实例。

规范

规范 状态 备注
Web Bluetooth
BluetoothDevice 的定义
草稿 初始定义。

桌面浏览器兼容性

特性ChromeEdgeFirefoxInternet ExplorerOperaSafari
基础支持74≤79 不支持 不支持62 不支持
adData 不支持 不支持 不支持 不支持 不支持 不支持
connectGATT 不支持 不支持 不支持 不支持 不支持 不支持
deviceClass 不支持 不支持 不支持 不支持 不支持 不支持
gatt74≤79 不支持 不支持62 不支持
gattServer 不支持 不支持 不支持 不支持 不支持 不支持
id74≤79 不支持 不支持62 不支持
name74≤79 不支持 不支持62 不支持
paired 不支持 不支持 不支持 不支持 不支持 不支持
productID 不支持 不支持 不支持 不支持 不支持 不支持
productVersion 不支持 不支持 不支持 不支持 不支持 不支持
unwatchAdvertisements 不支持 不支持 不支持 不支持 不支持 不支持
uuids 不支持 不支持 不支持 不支持 不支持 不支持
vendorID 不支持 不支持 不支持 不支持 不支持 不支持
vendorIDSource 不支持 不支持 不支持 不支持 不支持 不支持
watchAdvertisements 不支持 不支持 不支持 不支持 不支持 不支持
watchingAdvertisements 不支持 不支持 不支持 不支持 不支持 不支持

移动浏览器兼容性

特性AndroidChrome for AndroidEdge mobileFirefox for AndroidIE mobileOpera AndroidiOS Safari
基础支持 不支持74 未知 不支持 未知53 不支持
adData 不支持 不支持 未知 不支持 未知 不支持 不支持
connectGATT 不支持 不支持 未知 不支持 未知 不支持 不支持
deviceClass 不支持 不支持 未知 不支持 未知 不支持 不支持
gatt 不支持74 未知 不支持 未知53 不支持
gattServer 不支持 不支持 未知 不支持 未知 不支持 不支持
id 不支持74 未知 不支持 未知53 不支持
name 不支持74 未知 不支持 未知53 不支持
paired 不支持 不支持 未知 不支持 未知 不支持 不支持
productID 不支持 不支持 未知 不支持 未知 不支持 不支持
productVersion 不支持 不支持 未知 不支持 未知 不支持 不支持
unwatchAdvertisements 不支持 不支持 未知 不支持 未知 不支持 不支持
uuids 不支持 不支持 未知 不支持 未知 不支持 不支持
vendorID 不支持 不支持 未知 不支持 未知 不支持 不支持
vendorIDSource 不支持 不支持 未知 不支持 未知 不支持 不支持
watchAdvertisements 不支持 不支持 未知 不支持 未知 不支持 不支持
watchingAdvertisements 不支持 不支持 未知 不支持 未知 不支持 不支持