ios - 为什么蓝牙经典和 LE 设备在 iOS 上的名称相同?
问题描述
我有一个iphone和一个外围设备。我正在构建外围设备。外设有蓝牙经典名称“FOO”。在 LE 广告中,名称是“LE FOO”。
iPhone 上的 BLE Explorer 应用程序检测到名为“LE FOO”的外围设备。通过应用打开 BLE 连接后,配对菜单也会显示设备。到现在为止还挺好。
现在突然一个条目从“LE FOO”变为“FOO”,我有两个同名的设备!为什么?
而且:我该如何防止这种情况发生?我知道这是可能的,因为我有一个第三方设备,它可以为 LE 和经典有两个不同的名称。但是怎么做?
有任何想法吗?
谢谢你。
解决方案
埃米尔的提示让我走上了正确的道路:
在 LE 广告中,名字是“LE FOO”。因此,iPhone 最初显示的是正确的名称。建立连接后,iOS 会自动在后台询问设备名称特征。此特征返回“FOO”而不是“LE FOO”。
所以说我这边的一个错误。这个特性的回调是用错误的常量手动实现的。
推荐阅读
- python - 无法访问嵌套字典的属性
- algorithm - 获取给定数字的所有可能组合以达到给定总和
- tizen - 使用模拟器测试配套应用程序?
- javascript - jQuery 为网格项分配一个类
- elasticsearch - too_long_frame_exception:查询 Elasticsearch 时 http header 大于 8192 字节
- reactjs - 带有 react-hook-form 和 react-input-mask 的 Matrial UI 不起作用
- java - 如何确定安装的 Java 是否支持模块?
- javascript - 使用基于数组值的键连接来自多个对象的值 - Javascript
- text - 如何使用 SwiftUI 显示纯数字?文字不断添加逗号
- python - 在 Python 中用数值解析大型 XML 的最快方法 - 慢速浮点转换