android - Android特性.getValue空数组
问题描述
有时,如果发生 GATT 通知,我尝试通过characteristic.getValue()
多次获取特征值,调用突然开始返回一个空数组。
这主要发生在这方面的第一个通知上,而且似乎很随机。
我怎样才能characteristic.getValue()
保持一致?
我有一个 Pixel 3;也许这是一个实施问题。
解决方案
每个通知您应该只调用characteristic.getValue()
一次,并将其存储在某个变量中。您不应该在每次需要引用该数据时都调用它。如果您在一次通知后多次调用,它将不起作用。
理想情况下,您使用的是 Google 提供的服务示例,并将通知数据推送到所需活动中的变量。setCharacteristicNotification
这将在使用所需特性后自动发生,并且在broadcastUpdate
收到通知广播时执行更新。(假设您在应用程序中连接了“管道”)
推荐阅读
- python - 导入 statsmodel 时遇到问题
- excel-formula - 使用 SUMPRODUCT 公式 R1C1 中的变量进行偏移
- javascript - 检测手机缺口的更好方法?
- python - 为什么我的字典排序功能不能正常工作?
- angular - 在 Angular 中加载 DOM 之前在服务中运行函数
- amazon-web-services - 使用 AWS Lambda 函数和 Amazon S3 事件 (JAVA) 创建文件
- python - 来自两个父母的遗产
- spring - Spring 按页面值排序
- regex - 我可以使用正则表达式来指定与正确数量的左括号和右括号匹配的模式吗?
- vba - VBA hide and show sheets based on YES/NO and worksheet name