1***@qq.com
1***@qq.com
  • 发布:2025-08-14 09:21
  • 更新:2025-08-14 15:16
  • 阅读:89

【报Bug】断开蓝牙连接再重新连接,uni.writeBLECharacteristicValue已经success,但蓝牙设备收不到

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: Win11

HBuilderX类型: 正式

HBuilderX版本号: 4.75

手机系统: Android

手机系统版本号: Android 9.0

手机厂商: 华为

手机机型: 安卓

页面类型: vue

vue版本: vue3

打包方式: 云端

项目创建方式: HBuilderX

操作步骤:

缓存蓝牙设备信息,关闭手机蓝牙,开启手机蓝牙,发送数据。

预期结果:

正常发送,蓝牙设备正常接收,发送失败进入fail回调

实际结果:

进入success回调,蓝牙设备未收到。

bug描述:

1.正常使用蓝牙api,从初始化蓝牙模块到搜索并连接设备,

  1. 这一套流程下来后,使用uni.setStoreage将设备信息全部缓存下来,
  2. 这时关闭了手机蓝牙,再次打开。uni.getStoreage获取缓存中的设备信息,直接连接,
  3. 这时调用uni.writeBLECharacteristicValue发送数据,安卓设备上进入了success,苹果设备无任何回调。
  4. 蓝牙设备未接收到任何数据。
  5. 测试的时候是使用的蓝牙模块的串口,可以用串口调试工具实时看到接收数据情况。
  6. 经测试app订阅的消息还能收到.
  7. uniapp的蓝牙api真是一言难尽,不进入任何回调或者进入success实际上失败这种问题太多了。
2025-08-14 09:21 负责人:无 分享
已邀请:
zedcoding

zedcoding - 哈哈哈

iOS的设备id会变的吧 你应该第一次把name存起来 下次连接就用蓝牙名称去 新搜索到的设备里面去匹配,匹配到了再去拿设备的id

  • 4***@qq.com

    你好请问可以具体说一下吗?我也遇到了同样问题不知道怎么解决

    2025-08-25 10:28

要回复问题请先登录注册