首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Web蓝牙-是否可以检索设备中所有服务的列表?

Web蓝牙-是否可以检索设备中所有服务的列表?
EN

Stack Overflow用户
提问于 2020-04-17 23:17:23
回答 1查看 1.2K关注 0票数 1

我的项目基于discover服务和特征示例项目:https://googlechrome.github.io/samples/web-bluetooth/discover-services-and-characteristics.html

我正在尝试将设备中所有可用服务的列表记录到Chrome控制台中。有可能做到这一点吗?因为如果我不输入服务ID,就会遇到securityError:“啊!SecurityError: Origin不允许访问任何服务。提示:在requestDevice()选项中将服务UUID添加到'optionalServices‘。”

我知道NRF连接可以检测所有服务。

那么,我是否可以从设备中检索所有服务的列表,而无需预定义服务?

任何想法都将不胜感激。

EN

回答 1

Stack Overflow用户

发布于 2020-04-19 01:22:06

简短的回答:不,你必须列出你想要访问的服务。

Web Bluetooth在设计时考虑到了用户隐私,并要求应用程序想要访问的服务在requestDevice调用中列出,以便浏览器可以向用户提供适量的通信。有一种方法可以请求连接到任何设备acceptAllDevices: true,但没有一种方法可以请求访问设备上的所有服务。

当你正在开发并且需要了解Chrome能在设备上看到什么时,你可以使用chrome://bluetooth-internals/#devices。开始扫描以查找设备,然后选择“检查”。(只有一些设备会接受连接。)

NRF Connect也是一个优秀且功能更强大的工具。

当前的Web Bluetooth设计不支持构建该级别的诊断应用程序。有关网络蓝牙的安全和隐私模型的更多信息,请参阅Web Bluetooth specification

关于这些主题的一篇优秀的开发人员面临的文章:https://developers.google.com/web/updates/2015/07/interact-with-ble-devices-on-the-web

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61274998

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档