uni.createBLEConnection({
timeout: 5000,
deviceId,
success: res => {
console.log(res);
console.log('连接蓝牙成功:' + res.errMsg);
},
fail: e => {
console.log('连接蓝牙失败,错误码:' + e.errCode);
})
},
// 断开当前设备
disConnect() {
uni.closeBLEConnection({
deviceId: this.deviceId
})
},

- 发布:2025-07-11 18:03
- 更新:2025-07-11 18:03
- 阅读:13
产品分类: uniapp/App
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: win11
HBuilderX类型: 正式
HBuilderX版本号: 4.66
手机系统: iOS
手机系统版本号: iOS 16
手机厂商: 苹果
手机机型: iPhone 13
页面类型: vue
vue版本: vue2
打包方式: 云端
项目创建方式: HBuilderX
示例代码:
操作步骤:
a页面进b页面调用uni.createBLEConnection连接一台蓝牙设备,过段时间调用uni.closeBLEConnection+uni.closeBluetoothAdapter断开连接返回a页面,第二次再从a页面进入b页面就连接不了设备也发现不了设备了
a页面进b页面调用uni.createBLEConnection连接一台蓝牙设备,过段时间调用uni.closeBLEConnection+uni.closeBluetoothAdapter断开连接返回a页面,第二次再从a页面进入b页面就连接不了设备也发现不了设备了
预期结果:
APP断开蓝牙连接,系统蓝牙模块也应断开
APP断开蓝牙连接,系统蓝牙模块也应断开
实际结果:
APP调用uni.closeBLEConnection断开连接返回成功,uni.onBLEConnectionStateChange也监听到蓝牙设备断开连接,但系统蓝牙模块并未断开,后续获取已连接设备中找不到,搜索发现设备也找不到
APP调用uni.closeBLEConnection断开连接返回成功,uni.onBLEConnectionStateChange也监听到蓝牙设备断开连接,但系统蓝牙模块并未断开,后续获取已连接设备中找不到,搜索发现设备也找不到
bug描述:
uniapp打包IOS APP,APP连接uni.createBLEConnection成功回调,再调用uni.closeBLEConnection+uni.closeBluetoothAdapter断开连接,回调已成功。通过uni.onBLEConnectionStateChange()方法也监听到蓝牙连接状态断开了,但实际ios设置中的蓝牙设备状态并未断开还是已连接状态,系统蓝牙模块并未断开;后面再想继续连接蓝牙也连接不了,使用uni.getConnectedBluetoothDevices()方法也找不到这个已连接的设备,因为蓝牙实际未断开用uni.onBluetoothDeviceFound()方法也发现不了这个设备
0 个回复