首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android (蓝牙网关描述符)始终为空

Android (蓝牙网关描述符)始终为空
EN

Stack Overflow用户
提问于 2020-12-02 11:14:19
回答 1查看 576关注 0票数 1

有谁能帮忙吗。

我正在开发一个蓝牙低能应用程序工程完成:

  1. 设备将
  2. 设备
  3. 扫描到远程设备Raspberry Pi

远程设备具有服务标识:

6e400001-b5a3-f393-e0a9-e50e24dcca9e

写字符串是:

6e400002-b5a3-f 393-e0a9-e50e24dcca9e

通知字符串是:

6e400003-b5a3-f 393-e0a9-e50e24dcca9e

以上所有定制服务在IOS和Android上都能很好地工作,而不是监听远程设备通知。

我可以用: gatt.writeCharacteristic(characteristicWrite);写

我可以通过以下方式启用通知:

gatt.setCharacteristicNotification(characteristicNotify,真);

但是,当我试图获取描述符时,描述符总是为空。

我试过:

characteristic.getDescriptor(uuid);

  • UUID uuid = UUID.fromString("00002902-0000-1000-8000-00805f9b34fb");BluetoothGattDescriptor描述符= characteristic.getDescriptor(uuid);

  • UUID uuid = convertFromInteger(0x2902);BluetoothGattDescriptor描述符= characteristic.getDescriptor(uuid);

  • UUID.fromString("6e400003-b5a3-f393-e0a9-e50e24dcca9e");

  • UUID.fromString("6e400002-b5a3-f393-e0a9-e50e24dcca9e");

  • UUID.fromString("6e400001-b5a3-f393-e0a9-e50e24dcca9e");

在所有情况下,描述符返回null,而我不能设置描述符通知值。

服务器人员告诉描述符值没有配置在服务器设备上,同样的设备在IOS上正常工作,但是Android通知没有收到。

我用这个应用程序测试了相同的设备:

https://play.google.com/store/apps/details?id=no.nordicsemi.android.nrftoolbox

我可以在这个应用程序的帮助下收到通知。

上面的应用程序监听:00002902-0000-1000-8000-00805f9b34fb的描述符。

但是使用相同的UUID,我无法得到通知。

对不起我的英语。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-12-09 07:13:55

经过两天的研究,我找到了答案。请参阅参考应用程序测试任何BLE设备。应用程序更改请求MTU,然后启用通知。

我写和听通知的步骤如下:首先我厌倦了请求MTU,然后用通知值编写。在第一次尝试之后,在通知令牌的帮助下,描述符将被成功地写入。在这一步之后,我可以用给定的设备来写和听。我是面临同样问题的任何人,所以请考虑以上给定的应用程序,并检查应用程序日志。通过给定的应用程序,每一步都将是清晰的。

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

https://stackoverflow.com/questions/65106960

复制
相关文章

相似问题

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