// 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);

- 发布:2025-03-21 15:52
- 更新:2025-03-21 15:52
- 阅读:263
产品分类: 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
示例代码:
操作步骤:
使用mate 70 pro,将uniapp运行到真机mate 70 pro上,扫描蓝牙设备,点击连接,
能连接上,但是获取不到服务UUID和特征值UUID
使用mate 70 pro,将uniapp运行到真机mate 70 pro上,扫描蓝牙设备,点击连接,
能连接上,但是获取不到服务UUID和特征值UUID
预期结果:
扫描蓝牙设备,点击连接,期望获取不到服务UUID和特征值UUID
扫描蓝牙设备,点击连接,期望获取不到服务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,

