Bluetooth.requestDevice() - Web API 接口参考 编辑
这是一个实验中的功能
此功能某些浏览器尚在开发中,请参考浏览器兼容性表格以得到在不同浏览器中适合使用的前缀。由于该功能对应的标准文档可能被重新修订,所以在未来版本的浏览器中该功能的语法和行为可能随之改变。
Bluetooth
接口的Bluetooth.requestDevice()
方法返回一个带有对应options的BluetoothDevice
对象的Promise
对象. 如果没有蓝牙设备选择界面,则此方法返回与条件匹配的第一个设备。
语法
Bluetooth.requestDevice(options).then(function(bluetoothDevice) { ... })
返回值
带有BluetoothDevice
对象的Promise
对象.
参数
- options
- 设置设备请求选项的对象. 可用的选项是:
filters[]
: 一个BluetoothScanFilters数组。 此过滤器由一个BluetoothServiceUUID数组,一个名称参数和一个namePrefix参数组成。optionalServices[]
: 一个BluetoothServiceUUID数组。acceptAllDevices
: boolean 表示请求脚本可以接受所有蓝牙设备。 默认值为false。
示例
//扫描选项匹配任何设备广播:
//. 标准心率服务。
//. 两个16位服务ID 0x1802和0x1803。
//. 专有的128位UUID服务c48e6067-5295-48d3-8d5c-0395f61792b1。
//. 名称为“设备名”的设备。
//. 名称以“前缀”开头的设备。
//
//如果设备包含电池服务,
//即使设备不通告该服务,也可以访问电池服务。
let options = {
filters: [
{services: ['heart_rate']},
{services: [0x1802, 0x1803]},
{services: ['c48e6067-5295-48d3-8d5c-0395f61792b1']},
{name: '设备名'},
{namePrefix: '前缀'}
],
optionalServices: ['battery_service']
}
navigator.bluetooth.requestDevice(options).then(function(device) {
console.log('名称: ' + device.name);
// 在此处实现设备调用
})
.catch(function(error) {
console.log("出现错误: " + error);
});
查看详细示例
规范
规范 | 状态 | 说明 |
---|---|---|
Web Bluetooth requestDevice() | Draft | Initial definition. |
浏览器兼容性
We're converting our compatibility data into a machine-readable JSON format. This compatibility table still uses the old format, because we haven't yet converted the data it contains. Find out how you can help!Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit) |
---|---|---|---|---|---|
Basic support | 56 | 43 |
Feature | Android Webview | Chrome for Android | Firefox Mobile (Gecko) | Firefox OS | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|---|
Basic support | 未实现 | 56 | 43 |
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论