function findBPW(){
console.log('开始查找这个ios设别');
uni.onBluetoothDeviceFound(function(res) {
console.log('88888888888888888888');
if (uni.getStorageSync('activeDevide') == 'BPW2(蓝牙手表)') {
console.log('苹果bpw2');
if (res.devices[0].name == "BPW2") {
let a = ab2hex(res.devices[0].advertisData)
let str = uni.getStorageSync('mac')
let newStr = str.replace(/:/g, '').toLowerCase();
if (a.includes(newStr)) {
console.log('匹配成功');
// 代表匹配上了对应的mac地址
connect(res.devices[0].deviceId)
}
}
} else if (uni.getStorageSync('activeDevide') == 'M90(蓝牙手表)') {
if (res.devices[0].name == "M90") {
let a = ab2hex(res.devices[0].advertisData)
let str = uni.getStorageSync('mac_M90')
let newStr = str.replace(/:/g, '').toLowerCase();
console.log('这是add',a);
console.log('这是str',str);
console.log('这是newStr',newStr);
console.log('这是m90',res.devices[0]);
if (a.includes(newStr)) {
console.log('匹配成功');
// 代表匹配上了对应的mac地址
connect(res.devices[0].deviceId)
}
}
} else {
console.log(uni.getStorageSync('activeDevide'));
}
})
}
这是调用的重新连接的部分代码 每一次断开之后进入函数 log了console.log('开始查找这个ios设别'); 然后后面的代码就不会执行
注意是连接异常断开之后
- 发布:2024-05-10 16:13
- 更新:2024-09-25 00:05
- 阅读:397
产品分类: uniapp/App
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: 15872101242
HBuilderX类型: 正式
HBuilderX版本号: 4.15
手机系统: iOS
手机系统版本号: iOS 15
手机厂商: 苹果
手机机型: iphone7
页面类型: vue
vue版本: vue2
打包方式: 云端
项目创建方式: HBuilderX
App下载地址或H5⽹址: https://app.liuyingyong.cn/build/download/7c15a7f0-0dec-11ef-9019-d105f66a74e9
示例代码:
操作步骤:
写一套蓝牙连接的代码 尝试使用ios安装基座 连接成功之后关闭蓝牙设备 然后app端检测蓝牙断开 自动尝试重新搜索 这时候就发现无法执行uni.onBluetoothDeviceFound
写一套蓝牙连接的代码 尝试使用ios安装基座 连接成功之后关闭蓝牙设备 然后app端检测蓝牙断开 自动尝试重新搜索 这时候就发现无法执行uni.onBluetoothDeviceFound
预期结果:
希望可以执行
希望可以执行
实际结果:
ios端不可执行
ios端不可执行
bug描述:
安卓端正常,ios上,低功耗蓝牙连接成功后,如果将蓝牙设备关机,app端无法再次执行uni.onBluetoothDeviceFound
无任何回调
9***@qq.com - 一个小白
关注相同问题,设备异常断连后,安卓手机端短时间可以用 createBLEConnection 重连上,超过1分钟就彻底连不上了,也搜不到这个设备;
相同是按官方的成对调用createBLEConnection和closeBLEConnection,官方应该修复一下这个BUG,挺严重的,导致很多蓝牙不稳定。
2***@qq.com
解决了吗?
2024-12-16 15:50