a***@163.com
a***@163.com
  • 发布:2025-03-14 16:26
  • 更新:2025-03-20 10:38
  • 阅读:99

【报Bug】uni.notifyBLECharacteristicValueChange(OBJECT) 在android下无法正常开启通知,但是在微信版可以

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

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

HBuilderX类型: 正式

HBuilderX版本号: 4.56

手机系统: Android

手机系统版本号: Android 14

手机厂商: 荣耀

手机机型: 畅玩

页面类型: vue

vue版本: vue3

打包方式: 云端

项目创建方式: HBuilderX

示例代码:

// 开启/关闭特征值变化通知
notifyBLECharacteristicValueChange(characteristic: BluetoothCharacteristic, enable: boolean): void {
if ( !this.connected) return

  uni.notifyBLECharacteristicValueChange({  
    deviceId: this.device.deviceId,  
    serviceId: this.getServiceIdByCharacteristic(characteristic),  
    characteristicId: characteristic.uuid,  
    state: enable,  
    success: () => {  
      if (enable) {  
        if (!this.isNotifying(characteristic.uuid)) {  
          this.notifyingCharacteristics.push(characteristic.uuid)  
        }  
        this.addDebugLog('info', `开启通知成功: ${characteristic.uuid}`)  
        uni.showToast({  
          title: '已开启通知',  
          icon: 'success'  
        })  
      } else {  
        this.notifyingCharacteristics = this.notifyingCharacteristics.filter(  
          uuid => uuid !== characteristic.uuid  
        )  
        this.addDebugLog('info', `关闭通知成功: ${characteristic.uuid}`)  
        uni.showToast({  
          title: '已关闭通知',  
          icon: 'success'  
        })  
      }  
    },  
    fail: (res) => {  
      this.addDebugLog('error', `失败: ${characteristic.uuid}`)  
      this.addDebugLog('error', `${enable ? '开启' : '关闭'}1通知失败: ${res.errMsg}`)  
      uni.showToast({  
        title: (enable ? '开启' : '关闭') + '1通知失败: ' + res.errMsg,  
        icon: 'error'  
      })  
    }  
  })  
},

操作步骤:

蓝牙ble demo

预期结果:

正常开启

实际结果:

失败

bug描述:

【报Bug】uni.notifyBLECharacteristicValueChange(OBJECT) 在android下无法正常开启通知
,但是在微信版可以正常开启

2025-03-14 16:26 负责人:无 分享
已邀请:
a***@163.com

a***@163.com (作者) - 完全的不靠谱

我用ios试了 notifyBLECharacteristicValueChange 是可以正常订阅的。

android上不成功的原因是
{
"errMsg": "notifyBLECharacteristicValueChange:fail no characteristic",
"code": 10005
}

要回复问题请先登录注册