取消监听蓝牙低功耗设备的特征值变化事件(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
如果目前的蓝牙 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

