BluetoothDevice - 表示特定脚本执行环境中的蓝牙设备
这是一个实验中的功能
此功能某些浏览器尚在开发中,请参考浏览器兼容性表格以得到在不同浏览器中适合使用的前缀。由于该功能对应的标准文档可能被重新修订,所以在未来版本的浏览器中该功能的语法和行为可能随之改变。
BluetoothDevice
是 Web 蓝牙 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 的定义 |
草稿 | 初始定义。 |
桌面浏览器兼容性
特性 | Chrome | Edge | Firefox | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|---|
基础支持 | 74 | ≤79 | 不支持 | 不支持 | 62 | 不支持 |
adData | 不支持 | 不支持 | 不支持 | 不支持 | 不支持 | 不支持 |
connectGATT | 不支持 | 不支持 | 不支持 | 不支持 | 不支持 | 不支持 |
deviceClass | 不支持 | 不支持 | 不支持 | 不支持 | 不支持 | 不支持 |
gatt | 74 | ≤79 | 不支持 | 不支持 | 62 | 不支持 |
gattServer | 不支持 | 不支持 | 不支持 | 不支持 | 不支持 | 不支持 |
id | 74 | ≤79 | 不支持 | 不支持 | 62 | 不支持 |
name | 74 | ≤79 | 不支持 | 不支持 | 62 | 不支持 |
paired | 不支持 | 不支持 | 不支持 | 不支持 | 不支持 | 不支持 |
productID | 不支持 | 不支持 | 不支持 | 不支持 | 不支持 | 不支持 |
productVersion | 不支持 | 不支持 | 不支持 | 不支持 | 不支持 | 不支持 |
unwatchAdvertisements | 不支持 | 不支持 | 不支持 | 不支持 | 不支持 | 不支持 |
uuids | 不支持 | 不支持 | 不支持 | 不支持 | 不支持 | 不支持 |
vendorID | 不支持 | 不支持 | 不支持 | 不支持 | 不支持 | 不支持 |
vendorIDSource | 不支持 | 不支持 | 不支持 | 不支持 | 不支持 | 不支持 |
watchAdvertisements | 不支持 | 不支持 | 不支持 | 不支持 | 不支持 | 不支持 |
watchingAdvertisements | 不支持 | 不支持 | 不支持 | 不支持 | 不支持 | 不支持 |
移动浏览器兼容性
特性 | Android | Chrome for Android | Edge mobile | Firefox for Android | IE mobile | Opera Android | iOS 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 | 不支持 | 不支持 | 未知 | 不支持 | 未知 | 不支持 | 不支持 |