1***@qq.com
1***@qq.com
  • 发布:2025-03-21 15:52
  • 更新:2025-03-21 15:52
  • 阅读:263

【报Bug】在华为mate 70 pro上,运行uni-app生成的安卓包上,搜索蓝牙连接后,不能获取到服务UUID和特征值UUID!!!

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Mac

PC开发环境操作系统版本号: mac os 14.0

HBuilderX类型: 正式

HBuilderX版本号: 3.99

手机系统: Android

手机系统版本号: Android 14

手机厂商: 华为

手机机型: 华为Mate 70 Pro(鸿蒙系统4.3)

页面类型: vue

vue版本: vue3

打包方式: 云端

项目创建方式: HBuilderX

示例代码:
// Promise 包装 uni.getBLEDeviceServices  
  getBLEDeviceServicesPromise(deviceId) {  
    return new Promise((resolve, reject) => {  
      uni.getBLEDeviceServices({  
        deviceId,  
        success: resolve,  
        fail: reject,  
      });  
    });  
  }  
// Promise 包装 uni.getBLEDeviceCharacteristics  
  getBLEDeviceCharacteristicsPromise(deviceId, serviceId) {  
    return new Promise((resolve, reject) => {  
      uni.getBLEDeviceCharacteristics({  
        deviceId,  
        serviceId: serviceId,  
        success: resolve,  
        fail: reject,  
      });  
    });  
  }  
调用方法  
// 获取设备服务  
      const servicesRes = await this.getBLEDeviceServicesPromise(deviceId);  
      console.log("servicesRes: ", servicesRes);  
      // 获取设备特征值  
      const characteristicsRes = await this.getBLEDeviceCharacteristicsPromise(  
        deviceId,  
        this.targetServiceId  
      );  
      console.log("characteristicsRes: ", characteristicsRes);

操作步骤:

使用mate 70 pro,将uniapp运行到真机mate 70 pro上,扫描蓝牙设备,点击连接,
能连接上,但是获取不到服务UUID和特征值UUID

预期结果:

扫描蓝牙设备,点击连接,期望获取不到服务UUID和特征值UUID

实际结果:

扫描蓝牙设备,点击连接,服务UUID和特征值UUID都为空

bug描述:

手机:Mate 70 Pro
操作系统: 鸿蒙系统4.3

使用uniapp框架API

// Promise 包装 uni.getBLEDeviceServices  
  getBLEDeviceServicesPromise(deviceId) {  
    return new Promise((resolve, reject) => {  
      uni.getBLEDeviceServices({  
        deviceId,  
        success: resolve,  
        fail: reject,  
      });  
    });  
  }  
// Promise 包装 uni.getBLEDeviceCharacteristics  
  getBLEDeviceCharacteristicsPromise(deviceId, serviceId) {  
    return new Promise((resolve, reject) => {  
      uni.getBLEDeviceCharacteristics({  
        deviceId,  
        serviceId: serviceId,  
        success: resolve,  
        fail: reject,  
      });  
    });  
  }  
调用方法  
// 获取设备服务  
      const servicesRes = await this.getBLEDeviceServicesPromise(deviceId);  
      console.log("servicesRes: ", servicesRes);  
      // 获取设备特征值  
      const characteristicsRes = await this.getBLEDeviceCharacteristicsPromise(  
        deviceId,  
        this.targetServiceId  
      );  
      console.log("characteristicsRes: ", characteristicsRes);

=================问题描述:================================
在华为Mate 70pro上就获取不到获取不到获取不到服务UUID和特征值UUID,
但是在华为P30上能正常获取服务UUID和特征值UUID,

2025-03-21 15:52 负责人:无 分享
已邀请:

要回复问题请先登录注册