柴先生
柴先生
  • 发布:2023-05-23 13:54
  • 更新:2023-11-28 10:26
  • 阅读:818

【报Bug】蓝牙广播advertisData数据,安卓和ios不一致,ios缺少数据!!!

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: Windows 11 家庭中文版 22H2

HBuilderX类型: 正式

HBuilderX版本号: 3.7.13

手机系统: iOS

手机系统版本号: iOS 16

手机厂商: 苹果

手机机型: iPhone 12

页面类型: vue

vue版本: vue2

打包方式: 云端

项目创建方式: HBuilderX

示例代码:

uni.startBluetoothDevicesDiscovery({
// allowDuplicatesKey: true,
success: (res1) => {
// 发现外围设备
uni.onBluetoothDeviceFound((res) => {
res.devices.forEach((item) => {
// 调试使用
console.log(item.advertisData)
});
});
},
fail: (err) => {
console.log(err)
},
});

操作步骤:

请查看BUG 描述

预期结果:

广播包 (Advertising Data)和 响应包 (Scan Response)都存在

实际结果:

只存在广播包 (Advertising Data)
响应包 (Scan Response)丢失!!!!

bug描述:

搜索蓝牙后,获取到的BLE蓝牙设备的广播数据,安卓和ios不一致
在advertisData中ios只拿到了15条数据,安卓拿到了21条数据
安卓的数据正常广播包 (Advertising Data)和 响应包 (Scan Response)都存在
ios丢失响应包 (Scan Response)数据,请问怎么处理????
测试机型:iphone 12,ios版本:16.3.1、16.4.1、16.5
iphone 13, ios版本:16.3.1
以上均出现此情况【丢失响应包】
测试机型:iphone13,ios版本:16.1.1 【正常(没有丢失)】
【注:原来iphone12,ios版本:16.0,使用正常,广播数据没有丢失
但是:今天升级了14.1以后,广播数据丢失,怀疑和ios版本有关系】

2023-05-23 13:54 负责人:DCloud_iOS_WZT 分享
已邀请:
DCloud_iOS_WZT

DCloud_iOS_WZT

问题原因: iOS系统对于某些蓝牙设备首次检索获取到的Advertising data没有响应包
解决方案: startBluetoothDevicesDiscovery 时设置参数 allowDuplicatesKey: true

SGUAI小水怪

SGUAI小水怪

同样的问题,何时解决??

蓝天0730

蓝天0730

解决掉了吗哥们。一样的问题,IOS升级到16.3.1之后就连接不上了

要回复问题请先登录注册