uni.createBLEConnection({
deviceId: this.deviceId,
timeout:5000,
success: (res) => {
this.$data.isOpenBle = true;
toast('蓝牙连接成功!正在打印……')
resolve(res)
console.log(res)
},
fail: err => {
this.$data.isOpenBle = false;
uni.hideLoading();
toast('蓝牙连接失败!')
reject(err);
console.log(err)
}
})
- 发布:2020-05-14 10:39
- 更新:2020-05-14 11:16
- 阅读:3458
产品分类: uniapp/App
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: 2.6.16.20200424
HBuilderX类型: 正式
HBuilderX版本号: 2.6.16
手机系统: Android
手机系统版本号: Android 9.0
手机厂商: 小米
手机机型: Redmi7
页面类型: vue
打包方式: 云端
项目创建方式: HBuilderX
示例代码:
操作步骤:
如果蓝牙设备关闭了,在创建蓝牙连接的时候timeout属性不生效,导致一直等待30秒 等待时间太长了
如果蓝牙设备关闭了,在创建蓝牙连接的时候timeout属性不生效,导致一直等待30秒 等待时间太长了
预期结果:
uni.createBLEConnection在创建蓝牙连接的时候,在设置的timeout时长后返回失败即可
uni.createBLEConnection在创建蓝牙连接的时候,在设置的timeout时长后返回失败即可
实际结果:
uni.createBLEConnection在创建蓝牙连接的时候,一直等待,timeout属性失效
uni.createBLEConnection在创建蓝牙连接的时候,一直等待,timeout属性失效
bug描述:
低功耗蓝牙 uni.createBLEConnection里面的timeout 属性设置无效!不管设置多少,如果执行期间连接超时,会一直等待30秒后直接返回了一个连接成功??,设备明明没有开机居然在等待30秒后返回了成功!!!,期望解决方法:让timeout属性生效
1 个回复
恒有信息
我最近也在使用蓝牙功能,确实有这个bug,timeout设置没有用。我使用了onBLEConnectionStateChange进行监听,创建连接等待后即便createBLEConnection返回了ok,onBLEConnectionStateChange监听会返回connected为false,从而判断是否真的成功连接。