RxAndroidBle scanBleDevices(UUID ...)未触发
RxAndroidBle scanBleDevices(UUID...) not firing
我在向 scanBleDevices 方法传递(有效)UUID 时遇到问题 - 订阅永远不会触发。目前我有一个工作原型,使用通常的 android 扫描、连接、read/write 方法,但我想更新我的 RxAndroidBle 语法,使事情更安全、更容易阅读。
这是我的 RxAndroidBle 实现 - 不工作/订阅永远不会触发:
您可能认为我的 UUID 是错误的,但这是我使用非常有状态的以前版本所做的一些替代实现 - 相同的 uuid,这有效:
mLeScanCallback 将被触发。
我正在使用 RxAndroidBle 版本 1.2.2 & 我的 phone 是 Nexus 6P android 版本 6.0.1
一些附加信息:
如果我使用 scanBleDevices(),没有参数,我可以通过检查制造数据中的某些内容来找到我想要的 rxBleScanResult,无论如何我都会这样做。但为了安全起见,我也想过滤 UUID。当我找到我想要的包 bytes[] 时,我尝试使用(已弃用)提取我的 UUID
new UUIDUtil().extractUUIDs(rxBleScanResult.getScanRecord())
,但这返回了一个空列表。为了更明确一点,当我使用老式的 mLeScanCallback 时,上面的 extractUUIDS 也会生成一个空列表。
感谢您的宝贵时间!
这实际上是 RxAndroidBle
库中的错误。
正如我们在 UUIDUtil
(https://github.com/Polidea/RxAndroidBle/commit/ee59e0ab9ae3c483f5c4f35c7729e9fc2068ee21#diff-c7944d4c01c56adf4e6c67c7f7f737e8) 中看到的那样——它负责从蓝牙广告中提取服务 UUID——它缺少 32 位 UUID。该修复程序已添加到刚刚发布的版本 1.2.3
.
我在向 scanBleDevices 方法传递(有效)UUID 时遇到问题 - 订阅永远不会触发。目前我有一个工作原型,使用通常的 android 扫描、连接、read/write 方法,但我想更新我的 RxAndroidBle 语法,使事情更安全、更容易阅读。
这是我的 RxAndroidBle 实现 - 不工作/订阅永远不会触发:
您可能认为我的 UUID 是错误的,但这是我使用非常有状态的以前版本所做的一些替代实现 - 相同的 uuid,这有效:
mLeScanCallback 将被触发。
我正在使用 RxAndroidBle 版本 1.2.2 & 我的 phone 是 Nexus 6P android 版本 6.0.1
一些附加信息:
如果我使用 scanBleDevices(),没有参数,我可以通过检查制造数据中的某些内容来找到我想要的 rxBleScanResult,无论如何我都会这样做。但为了安全起见,我也想过滤 UUID。当我找到我想要的包 bytes[] 时,我尝试使用(已弃用)提取我的 UUID
new UUIDUtil().extractUUIDs(rxBleScanResult.getScanRecord())
,但这返回了一个空列表。为了更明确一点,当我使用老式的 mLeScanCallback 时,上面的 extractUUIDS 也会生成一个空列表。
感谢您的宝贵时间!
这实际上是 RxAndroidBle
库中的错误。
正如我们在 UUIDUtil
(https://github.com/Polidea/RxAndroidBle/commit/ee59e0ab9ae3c483f5c4f35c7729e9fc2068ee21#diff-c7944d4c01c56adf4e6c67c7f7f737e8) 中看到的那样——它负责从蓝牙广告中提取服务 UUID——它缺少 32 位 UUID。该修复程序已添加到刚刚发布的版本 1.2.3
.