首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >安卓BLE4.3 onDescriptorWrite启动特性通知返回状态128

安卓BLE4.3 onDescriptorWrite启动特性通知返回状态128
EN

Stack Overflow用户
提问于 2013-08-27 02:28:55
回答 4查看 5.2K关注 0票数 5

关于使用新的android BLE 4.3启用特性的问题:

我没有收到来自BLE设备的任何通知,尽管我使用队列异步地逐个启用了特征通知。

我还用ENABLE_NOTIFICATION_VALUE编写了UUID为"00002902-0000-1000-8000-00805f9b34fb“的描述符。

我遵循了来自Google sdk文档的建议,以及来自各种论坛的建议。

顺便说一句,我在"onDescriptorWrite“上得到status = 128。你知道这种状态意味着什么吗?

我通过谷歌代码,没有看到任何关于这方面的信息。即使是源代码也没有说明这种状态是如何设置的。

当您为正文媒体设备启用通知时,请让我知道您是否遇到过这种情况。有时,我会在描述符写入时得到状态133。我使用最新的Nexus 7进行测试。

EN

回答 4

Stack Overflow用户

发布于 2013-10-31 21:26:58

我遇到了同样的问题,并通过禁用和重新启用蓝牙接口解决了这个问题。

Android BLE堆栈似乎仍然不成熟,并且存在不稳定问题。

票数 3
EN

Stack Overflow用户

发布于 2015-01-29 10:32:08

此错误可能与Android操作系统设置的最大阈值有关。

代码语言:javascript
运行
复制
#define BTA_GATTC_NOTIF_REG_MAX     15

 - for 4.3 max number of notification/indication is 4 
 - for 4.4 max number of notification/indication is 7
 - for 5.0 max number of notification/indication is 15

https://groups.google.com/forum/#!topic/android-platform/FNHO5KB4sKI

https://android.googlesource.com/platform/external/bluetooth/bluedroid/+/android-5.0.2_r1/bta/gatt/bta_gattc_int.h

票数 2
EN

Stack Overflow用户

发布于 2017-05-27 10:27:18

非常晚的应答,但对于在gatt.writedescriptor()呼叫中遇到状态128 (GATT_NO_RESOURCES)的任何人来说,这可能是很有价值的。

在我的例子中,当试图为需要通过ENABLE_INDICATION_VALUE订阅指示的特性编写一个值为ENABLE_NOTIFICATION_VALUE的描述符时,就会出现状态128。

因此,不是

代码语言:javascript
运行
复制
BluetoothGattDescriptor descriptor = bluetoothGattCharacteristic.getDescriptor(DESCRIPTOR_UUID);
descriptor.setValue(ENABLE_NOTIFICATION_VALUE);
mGatt.writeDescriptor(descriptor);

去找

代码语言:javascript
运行
复制
BluetoothGattDescriptor descriptor = bluetoothGattCharacteristic.getDescriptor(DESCRIPTOR_UUID);
descriptor.setValue(ENABLE_INDICATION_VALUE);
mGatt.writeDescriptor(descriptor);

已修复此问题。我假设反过来也会产生相同的错误状态128。

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

https://stackoverflow.com/questions/18450591

复制
相关文章

相似问题

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