that.devices = uni.getStorageSync('devices');
const serviceId = uni.getStorageSync('serviceId');
const characteristicId = uni.getStorageSync('characteristicId');
console.log(that.devices,characteristicId,serviceId)
uni.notifyBLECharacteristicValueChange({ //启用低功耗蓝牙设备特征值变化时的 notify 功能
state: true,
deviceId: that.devices,
serviceId: serviceId,
characteristicId: characteristicId,
success(res) {
uni.onBLECharacteristicValueChange(res => { //监听返回
const json = command.hex2jsonBuf(res.value)

- 发布:2024-01-27 15:34
- 更新:2024-01-27 15:34
- 阅读:153
产品分类: uniapp/App
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: Windows 10
HBuilderX类型: 正式
HBuilderX版本号: 3.98
手机系统: Android
手机系统版本号: Android 12
手机厂商: 华为
手机机型: mate30
页面类型: vue
vue版本: vue2
打包方式: 云端
项目创建方式: HBuilderX
示例代码:
操作步骤:
首次连接蓝牙设备,发送指令后无法监听到返回值
首次连接蓝牙设备,发送指令后无法监听到返回值
预期结果:
蓝牙连接成功后,发送指令就可以监听到返回值
蓝牙连接成功后,发送指令就可以监听到返回值
实际结果:
首次连接蓝牙设备,发送指令后无法监听到返回值,需要反复将蓝牙设备断开重启几次后才能监听到返回值
首次连接蓝牙设备,发送指令后无法监听到返回值,需要反复将蓝牙设备断开重启几次后才能监听到返回值
bug描述:
在tabBar页面,将监听返回的方法放在onShow中,蓝牙连接上硬件设备后,发送指令给设备后没有监听到返回值,需要反复将蓝牙设备断开重启几次后才能监听到返回值(目前测试的所有安卓型号手机都有这个问题),使用原生开发工具发送指令后返回值正常,没有这个问题
0 个回复