取消监听蓝牙低功耗设备的特征值变化事件(offBLECharacteristicValueChange)在uni-app

取消监听蓝牙低功耗设备的特征值变化事件(offBLECharacteristicValueChange)在uni-app

| 开发环境 | 版本号 | 项目创建方式 |
|----------|--------|--------------|
| Windows  |        | HBuilderX     |
|          | 4.73   |               |
| Android  | Android 12 |      |
| 手机厂商 | 手机机型 | 页面类型 |
| 小米     | Mi 10 Lite Zoom | vue |
|          |        | vue3       |

# 示例代码:

请求增加方法: 取消监听蓝牙低功耗设备的特征值变化事件(offBLECharacteristicValueChange)!!!!!!!!!!!!!!!1

# 操作步骤:

请求增加方法: 取消监听蓝牙低功耗设备的特征值变化事件(offBLECharacteristicValueChange)!!!!!!!!!!!!!!!1

# 预期结果:

请求增加方法: 取消监听蓝牙低功耗设备的特征值变化事件(offBLECharacteristicValueChange)!!!!!!!!!!!!!!!1

# 实际结果:

请求增加方法: 取消监听蓝牙低功耗设备的特征值变化事件(offBLECharacteristicValueChange)!!!!!!!!!!!!!!!1

## bug描述:

请求增加方法: 取消监听蓝牙低功耗设备的特征值变化事件(offBLECharacteristicValueChange)!!!!!!!!!!!!!!!1

更多关于取消监听蓝牙低功耗设备的特征值变化事件(offBLECharacteristicValueChange)在uni-app的实战教程也可以访问 https://www.itying.com/category-93-b0.html

3 回复

如果目前的蓝牙 api 不满足要求,可在 https://ext.dcloud.net.cn/search?q=蓝牙 中查询 uts 编写的安卓蓝牙插件

更多关于取消监听蓝牙低功耗设备的特征值变化事件(offBLECharacteristicValueChange)在uni-app的实战教程也可以访问 https://www.itying.com/category-93-b0.html


你好,我做的时候是把监听事件封装了一个函数,然后定义一个值,监听success之后,把这个值改为true。在每次调用这个监听事件的时候都先判断一下这个值。如果这个值是true就不走监听,直接去做其他操作。这样就相当于只开了一遍监听,不用取消监听。不知道适不适合你

uni-app目前确实没有提供offBLECharacteristicValueChange方法。在当前的蓝牙低功耗API设计中,特征值变化监听是通过onBLECharacteristicValueChange注册的,但缺少对应的取消监听方法。

作为替代方案,你可以在不需要接收特征值变化时,通过断开蓝牙连接来停止监听。调用uni.closeBLEConnection断开与当前设备的连接,这样所有相关的监听都会自动停止。当需要重新监听时,需要重新建立连接并注册监听。

另外,你可以在监听回调函数中添加条件判断,通过一个标志变量来控制是否处理接收到的数据。虽然这不是真正的取消监听,但可以达到类似的效果:

let enableCharacteristicNotify = true

uni.onBLECharacteristicValueChange((res) => {
  if (!enableCharacteristicNotify) return
  // 处理特征值变化
})

// 需要"取消监听"时
enableCharacteristicNotify = false
回到顶部