安全上下文
此特征只可用于
安全上下文
(HTTPS),在某些或所有
支持浏览器
.
这是
实验性技术
检查
浏览器兼容性表格
要小心谨慎在生产中使用这之前。
Bluetooth.requestDevice()
方法在
蓝牙
interface returns a
Promise
to a
BluetoothDevice
object with the specified options. If there is no chooser UI, this method returns the first device matching the criteria.
Bluetooth.requestDevice([options])
.then(function(bluetoothDevice) { ... })
A
Promise
to a
BluetoothDevice
对象。
filters[]
: An array of
BluetoothScanFilters
. This filter consists of an array of
BluetoothServiceUUID
s, a
名称
参数,和
namePrefix
参数。
optionalServices[]
: An array of
BluetoothServiceUUID
。
acceptAllDevices
: A
布尔
indicating that the requesting script can accept all Bluetooth devices. The default is
false
.
TypeError
选项
do not makes sense. For example,
options.filters
存在且
options.acceptAllDevices
is
true
,或者若
options.filters
is not present and
options.acceptAllDevices
is
false
. Or
options.filters
is
[]
.
NotFoundError
There is no Bluetooth device that matches the specified options.
SecurityError
This operation is not permitted in this context due to security concerns. For example, it is called from insecure origin.
// Discovery options match any devices advertising:
// . The standard heart rate service.
// . Both 16-bit service IDs 0x1802 and 0x1803.
// . A proprietary 128-bit UUID service c48e6067-5295-48d3-8d5c-0395f61792b1.
// . Devices with name "ExampleName".
// . Devices with name starting with "Prefix".
//
// And enables access to the battery service if devices
// include it, even if devices do not advertise that service.
let options = {
filters: [
{services: ['heart_rate']},
{services: [0x1802, 0x1803]},
{services: ['c48e6067-5295-48d3-8d5c-0395f61792b1']},
{name: 'ExampleName'},
{namePrefix: 'Prefix'}
],
optionalServices: ['battery_service']
}
navigator.bluetooth.requestDevice(options).then(function(device) {
console.log('Name: ' + device.name);
// Do something with the device.
})
.catch(function(error) {
console.log("Something went wrong. " + error);
});
Detailed examples are in the specification.
| 规范 | 状态 | 注释 |
|---|---|---|
|
Web Bluetooth
The definition of 'requestDevice()' in that specification. |
草案 | 初始定义。 |
| 桌面 | 移动 | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
requestDevice
|
Chrome
56
注意事项
|
Edge
≤79
注意事项
|
Firefox 不支持 No | IE 不支持 No |
Opera
43
注意事项
|
Safari 不支持 No | WebView Android 不支持 No | Chrome Android 56 | Firefox Android 不支持 No | Opera Android 43 | Safari iOS 不支持 No | Samsung Internet Android 6.0 |
完整支持
不支持
实验。期望将来行为有所改变。
见实现注意事项。
用户必须明确启用此特征。
蓝牙
requestDevice()