是否可以使用渐进式 Web 应用程序搜索信标数据(uuid、url、...),而只使用 Web 技术而不使用原生移动技术(Android、ios、...)?
提前致谢。
请您参考如下方法:
不幸的是,截至 2020 年 7 月,这是不可能的。虽然 Google 一直致力于 WebBluetooth project为浏览器带来对许多蓝牙操作的支持,至少在 Android 6+、Mac 或 ChromeOS 上的 Google Chrome 实现中。
在撰写本文时,尚无法扫描信标。 API 要求操作系统扫描符合请求条件的设备,然后让用户使用用户界面选择要连接的设备。这基本上排除了信标检测。
蓝牙扫描 API 仍处于草案形式 here.
编辑: @zurfyx 在下面的回答中提到的 API 允许您扫描并连接到广告的 GATT 服务,但不允许您读取广告中的数据。这是一个关键区别,因为读取广告中的数据是实际蓝牙信标检测所需的关键功能。该 API 中缺少该功能。没有这种能力,就不可能检测到信标,只能连接到 的 BLE 设备。可能是 Eddystone 或其他基于服务广告的信标。
2020 年 7 月更新 :据 a June 2020 announcement by Apple 称,出于隐私考虑,Safari 将不会获得任何 WebBluetooth API。 这使得无法在 iOS 我们的应用程序上进行蓝牙扫描 在可预见的 future 。
截至 2020 年 7 月,Chrome 不支持扫描任意广告。在此处查看状态:https://github.com/WebBluetoothCG/web-bluetooth/blob/master/implementation-status.md