7***@qq.com
7***@qq.com
  • 发布:2021-04-30 20:29
  • 更新:2021-05-01 20:15
  • 阅读:878

【报Bug】app蓝牙收不到数据

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

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

HBuilderX类型: 正式

HBuilderX版本号: 3.1.9

手机系统: Android

手机系统版本号: Android 10

手机厂商: 小米

手机机型: 红米k20

页面类型: vue

打包方式: 云端

项目创建方式: HBuilderX

示例代码:

uni.notifyBLECharacteristicValueChange({  
deviceId,  
serviceId,  
characteristicId,  
state: true,  
success: function(res) {  
console.log("监听成功");//打印监听成功,但实际一直收不到数据  
console.log(characteristicId)  
uni.onBLECharacteristicValueChange(function(res) {  
console.log('value.......')  
//这个回调一直没反应  
});  
},  
fail: () => {  
// console.log('监听失败')  
// console.log(characteristicId)  
}  
});

操作步骤:

目前测试必然收不到数据,经过小程序“开光”后可以收数据,然后把蓝牙设备重启后又不能收数据

预期结果:

收不到数据

实际结果:

收不到数据

bug描述:

app连接蓝牙设备后监听成功了但收不到蓝牙设备的数据,只能App发数据给蓝牙设备,但是在小程序中是可以收到数据的,而且小程序收一次数据后再回到app,然后app也可以收数据了

2021-04-30 20:29 负责人:无 分享
已邀请:
7***@qq.com

7***@qq.com (作者)

自己发现了一个很无聊的解决方法。。。就是uni.notifyBLECharacteristicValueChange监听成功前不要调用uni.readBLECharacteristicValue方法,延迟调用uni.readBLECharacteristicValue,或者这个方法干脆不调用我这边测试也可以,这样监听成功后可以正常监听到特征值变化,如果还不能监听到特征值变化可以在监听成功后先App给蓝牙设备发一条数据,这样就可以监听到了...目前只在安卓测试过有效,ios没测试,希望官方能尽快解决这个问题

该问题目前已经被锁定, 无法添加新回复