首页 > 解决方案 > 更改 Chrome 中的安全设置以允许不受限制的蓝牙访问

问题描述

我正在开发一个使用Chrome 的蓝牙 API的应用程序。开发非常烦人,因为每次我更改代码时,页面都会重新加载,我需要请求权限才能再次连接到蓝牙设备,而这些权限只能通过手动点击界面来授予

const device = await navigator.bluetooth.requestDevice(options);

会触发这个(抱歉截图是德语)

在此处输入图像描述

无法保存和恢复蓝牙权限

navigator.permissions.query({name:'bluetooth'})

这打算在某天成为可能,但它是 Chromium 项目中正在进行的一项工作。

现在我想知道,是否可以通过任何方式更改 chrome 中的设置以放松安全设置以允许我仅访问蓝牙而无需被授予访问权限?不是通过 JavaScript,而是通过 Chrome 中的某些设置或sudo我可以执行的某些命令?

标签: google-chromebluetoothweb-bluetooth

解决方案


很抱歉对这个问题的回复很晚。

我最近实现了一个新的权限后端以及两个 API,它们将使以前允许的蓝牙设备能够被使用。

新的权限后端在 chrome://flags/#enable-web-bluetooth-new-permissions-backend 后面实现。新后端将保留授予的设备权限,requestDevice()直到在“站点设置”或“页面信息”对话框中重置该权限。

getDevices()和在watchAdvertisements()Chrome 85.0.4165.0 或更高版本的 chrome://flags/#enable-experimental-web-platform-features 标志后面实现。这些 API 的推荐用途是用于getDevices()检索允许的 BluetoothDevices 数组,然后调用watchAdvertisements()这些设备以开始扫描。当从设备检测到广告数据包时,advertisementreceived将在其对应的设备上触发事件。此时,蓝牙设备在范围内并可以连接。

请尝试使用此新功能,并使用 Blink>Bluetooth 组件在https://crbug.com上提交任何错误。


推荐阅读