Android特征.getValue空数组

问题描述 投票:0回答:1

有时,如果发生GATT通知,并且我尝试多次通过characteristic.getValue()获取特征值,则该调用突然开始返回一个空数组。

这主要发生在该连接的第一个通知上,并且似乎是非常随机的。

我如何使characteristic.getValue()保持一致?

我有一个Pixel 3;也许这是一个实施问题。

android bluetooth-lowenergy android-bluetooth gatt bluetooth-gatt
1个回答
0
投票

每个通知仅应调用characteristic.getValue()一次,并将其存储在某个变量中。您不应该在每次需要引用该数据时都调用它。如果您在收到单个通知后多次致电,它将无法正常工作。

理想情况下,您正在使用Google提供的服务示例,并将通知数据推送到所需活动中的变量。在所需特性上使用setCharacteristicNotification后,这将自动发生,并且每当接收到通知广播时,都会在broadcastUpdate中执行更新。 (假设您在应用程序中连接了“管道”)

© www.soinside.com 2019 - 2024. All rights reserved.