Web 蓝牙绕过已知设备 ID 的配对屏幕
Web Bluetooth bypass Pairing Screen for a known device id
是否可以在没有配对屏幕的情况下连接我知道 ID 的蓝牙设备?
classic:
navigator.bluetooth.requestDevice ({filters: [{services: ['heart_rate']}]})
.then (device => {
this.device = device;
return device.gatt.connect ();
相反,我想在没有 navigator.bluetooth.requestDevice 的情况下执行 device.gatt.connect () .. 至少对于我已经连接过一次或我知道 ID 的设备。
有人可以帮助我吗? ..谢谢!
Bluetooth Permissions API integration section of the Web Bluetooth spec 确实指定了一种使用设备 ID 执行此操作的方法。但是,目前还没有在任何浏览器中实现。
Chrome 正在进行一项工作,以实施 getDevices()
方法,该方法可以 return 以前授权的蓝牙设备列表。 API 的状态可以在 Chrome Platform Status.
中查看
6/22/20 编辑:
我最近实施了一个新的权限后端以及两个 API 将允许使用以前允许的蓝牙设备。
新权限后端在 chrome://flags/#enable-web-bluetooth-new-permissions-backend 后面实现。新后端将保留通过 requestDevice()
授予的设备权限,直到在“站点设置”或“页面信息”对话框中重置权限。
getDevices()
and watchAdvertisements()
are implemented behind the chrome://flags/#enable-experimental-web-platform-features flag for Chrome 85.0.4165.0 or greater. The recommended use of these APIs is to use getDevices()
to retrieve an array of permitted BluetoothDevices and then calling watchAdvertisements()
on these devices to start a scan. When advertisement packets are detected from the devices, the advertisementreceived
事件将在它对应的设备上触发。此时,蓝牙设备在范围内,可以连接。
请尝试这个新功能,并使用 Blink>Bluetooth 组件在 https://crbug.com 提交任何错误。
是否可以在没有配对屏幕的情况下连接我知道 ID 的蓝牙设备?
classic:
navigator.bluetooth.requestDevice ({filters: [{services: ['heart_rate']}]})
.then (device => {
this.device = device;
return device.gatt.connect ();
相反,我想在没有 navigator.bluetooth.requestDevice 的情况下执行 device.gatt.connect () .. 至少对于我已经连接过一次或我知道 ID 的设备。
有人可以帮助我吗? ..谢谢!
Bluetooth Permissions API integration section of the Web Bluetooth spec 确实指定了一种使用设备 ID 执行此操作的方法。但是,目前还没有在任何浏览器中实现。
Chrome 正在进行一项工作,以实施 getDevices()
方法,该方法可以 return 以前授权的蓝牙设备列表。 API 的状态可以在 Chrome Platform Status.
6/22/20 编辑:
我最近实施了一个新的权限后端以及两个 API 将允许使用以前允许的蓝牙设备。
新权限后端在 chrome://flags/#enable-web-bluetooth-new-permissions-backend 后面实现。新后端将保留通过 requestDevice()
授予的设备权限,直到在“站点设置”或“页面信息”对话框中重置权限。
getDevices()
and watchAdvertisements()
are implemented behind the chrome://flags/#enable-experimental-web-platform-features flag for Chrome 85.0.4165.0 or greater. The recommended use of these APIs is to use getDevices()
to retrieve an array of permitted BluetoothDevices and then calling watchAdvertisements()
on these devices to start a scan. When advertisement packets are detected from the devices, the advertisementreceived
事件将在它对应的设备上触发。此时,蓝牙设备在范围内,可以连接。
请尝试这个新功能,并使用 Blink>Bluetooth 组件在 https://crbug.com 提交任何错误。