Google chrome extension Web Bluetooth API获取附近所有可用设备的列表

Google chrome extension Web Bluetooth API获取附近所有可用设备的列表,google-chrome-extension,bluetooth,browser-extension,bluetooth-gatt,web-bluetooth,Google Chrome Extension,Bluetooth,Browser Extension,Bluetooth Gatt,Web Bluetooth,我正在寻找一个API调用,可以用来检索我附近的所有蓝牙设备。这些示例讨论从单个蓝牙设备获取不同的特性,但是我找不到任何检索所有蓝牙设备的示例(如windows本机蓝牙应用程序上的可用蓝牙设备列表)。甚至支持它吗?我个人还没有尝试过很多Web Bluetooth API,但我认为您正在寻找和: 此版本的Web Bluetooth API规范允许, 以中心角色运行,通过网络连接到远程GATT服务器 不可靠的连接。它支持实现以下功能的设备之间的通信: 蓝牙4.0或更高版本 当网站请求使用访问附近设备时

我正在寻找一个API调用,可以用来检索我附近的所有蓝牙设备。这些示例讨论从单个蓝牙设备获取不同的特性,但是我找不到任何检索所有蓝牙设备的示例(如windows本机蓝牙应用程序上的可用蓝牙设备列表)。甚至支持它吗?

我个人还没有尝试过很多Web Bluetooth API,但我认为您正在寻找和:

此版本的Web Bluetooth API规范允许, 以中心角色运行,通过网络连接到远程GATT服务器 不可靠的连接。它支持实现以下功能的设备之间的通信: 蓝牙4.0或更高版本

当网站请求使用访问附近设备时 Google Chrome将向用户提示 一个设备选择器,用户可以在其中选择一个设备或简单地取消该设备 请求

navigator.bluetooth.requestDevice函数采用强制的 定义过滤器的对象。这些过滤器仅用于返回 与某些宣传的蓝牙GATT服务和/或 设备名称

此外,这里列出了。

规范草案已经存在,但从2018年起任何地方都存在。

(好吧,这个问题让我陷入了困境……)

几年后,我们开始从
api.Bluetooth.getDevices
看到生命的迹象。我最终得到了一个使用Chrome的实验演示

您可能需要启用Chrome的“Web蓝牙实验”。(Firefox也有类似的功能,但我没有尝试过。)

  • 转到
    chrome://flags/
    然后搜索
    蓝牙
    并启用API

  • 单击演示页面上的按钮:


  • 演示代码来自同一页面:

    函数onGetBluetoothDevicesButtonClick(){
    日志('获取现有允许的蓝牙设备…');
    navigator.bluetooth.getDevices()
    。然后(设备=>{
    日志('>Got'+devices.length+'Bluetooth devices');
    用于(设备中的常量设备){
    日志('>'+device.name+'('+device.id+'));
    }
    })
    .catch(错误=>{
    日志('Argh!'+错误);
    });
    }
    函数onRequestBluetoothDeviceButtonClick(){
    日志('请求任何蓝牙设备…');
    navigator.bluetooth.requestDevice({
    //过滤器:[……]{
    日志('>请求的'+device.name+'('+device.id+'));
    })
    .catch(错误=>{
    日志('Argh!'+错误);
    });
    }
    
    祝你好运