【问题标题】:Remembering the device and reconnecting to it记住设备并重新连接
【发布时间】:2021-03-16 00:24:58
【问题描述】:

我目前正在用js中的网络蓝牙做一个项目,我想知道是否有一种方法可以保存设备对象并自动连接到它,而不是每次都在弹出窗口中选择设备。

我尝试将设备保存在本地存储中,并尝试将其放入 cookie 中,但都失败了。

【问题讨论】:

  • 你有没有尝试过?你有代码要分享吗?
  • 是的,我忘了提到尝试将其保存在本地存储中并在 cookie 中获取它,但它不起作用
  • 我遇到了同样的问题,似乎没有办法在不通过 navigator.bluetooth.requestDevice() 先获取设备对象的情况下连接到 BLE 设备。这意味着触发弹出窗口。我希望有一些其他 API 来获取我可以连接到的配对设备列表,但我还没有找到任何这样的 API。

标签: javascript html web-bluetooth


【解决方案1】:

有一种方法,但这意味着在 Chrome 85+ 上启用一些 Chrome 功能标志

你可以看看documentation

总结一下,在 chrome://flags 中启用这两个功能标志后:

  • #enable-experimental-web-platform-features
  • #web-bluetooth-new-permissions-backend

Web 蓝牙规范将使用 getDevices() 算法进行更新。 getDevices() 返回的设备可能包含当前不在范围内且已连接的设备。 BluetoothDevice::watchAdvertisements() API 可用于检测蓝牙设备何时进入蓝牙无线电的范围。如果设备能够连接到,则调用 BluetoothRemoteGATTServer.connect() 应该会成功解析。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-03-16
    • 1970-01-01
    • 1970-01-01
    • 2017-12-01
    • 2015-11-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多