<script>
export default {
data() {
return {
title: 'Hello'
}
},
onLoad() {
},
onReady() {
uni.openBluetoothAdapter({
success(res) {
uni.startBluetoothDevicesDiscovery({
success: e => {
uni.onBluetoothDeviceFound(devices => {
if (devices.devices[0].name == 'bleconfig'|| devices.devices[0].localName == 'bleconfig') {
console.log(devices.devices[0]);
uni.stopBluetoothDevicesDiscovery({
success: e => {
console.log('停止搜索蓝牙设备:' + e.errMsg);
},
fail: e => {
console.log('停止搜索蓝牙设备失败,错误码:' + e.errCode);
if (e.errCode !== 0) {
this.initTypes(e.errCode);
}
}
});
}
});
this.step = 'search';
},
fail: e => {
console.log('搜索蓝牙设备失败,错误码:' + e.errCode);
if (e.errCode !== 0) {
this.initTypes(e.errCode);
}
}
});
}
})
},
methods: {
}
}
</script>
- 发布:2022-07-26 09:30
- 更新:2024-09-10 16:39
- 阅读:1637
产品分类: uniapp/App
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: windows10 专业版
HBuilderX类型: 正式
HBuilderX版本号: 3.3.11
手机系统: iOS
手机系统版本号: iOS 15
手机厂商: 苹果
手机机型: ios全部
页面类型: vue
vue版本: vue2
打包方式: 云端
项目创建方式: HBuilderX
示例代码:
操作步骤:
一个全新设备开始蓝牙模式,app蓝牙搜索uni.onBluetoothDeviceFound监听返回值,手机第一次监听不到该蓝牙设备,重新uni.onBluetoothDeviceFound监听能快速监听到设备,之后该设备每次都能正常监听到。
一个全新设备开始蓝牙模式,app蓝牙搜索uni.onBluetoothDeviceFound监听返回值,手机第一次监听不到该蓝牙设备,重新uni.onBluetoothDeviceFound监听能快速监听到设备,之后该设备每次都能正常监听到。
预期结果:
一个全新设备开始蓝牙模式,app蓝牙搜索uni.onBluetoothDeviceFound监听返回值,手机第一次监听到该蓝牙设备
一个全新设备开始蓝牙模式,app蓝牙搜索uni.onBluetoothDeviceFound监听返回值,手机第一次监听到该蓝牙设备
实际结果:
手机第一次监听不到该蓝牙设备,重新uni.onBluetoothDeviceFound监听能快速监听到设备,之后该设备每次都能正常监听到。
手机第一次监听不到该蓝牙设备,重新uni.onBluetoothDeviceFound监听能快速监听到设备,之后该设备每次都能正常监听到。
bug描述:
iOSapp蓝牙搜索一个新设备,第一次使用uni.onBluetoothDeviceFound监听不到设备,需要第二次使用uni.startBluetoothDevicesDiscovery+uni.onBluetoothDeviceFound才能监听到设备,之后该设备能正常监听到
jianyu123 (作者) - 王建宇
麻烦帮忙看下,谢谢你
-
你提供的示例 我这边运行不起来 没有common文件夹 还有我用hello Uni 示例项目没复现问题 首次就能搜索到几百个周边的蓝牙设备
2022-08-05 11:21
-
jianyu123 (作者)
回复 DCloud_iOS_WZT: 能搜索到设备,但就是一个全新的设备,用一部手机第一次去搜索这个设备的蓝牙,在onBluetoothDeviceFound函数里面监听不到,二次搜索和之后的每次搜索都能正常监听到。
2022-08-09 17:33
jianyu123 (作者)
还是一样HX更新到了3.4.18.还是第一次搜不到,需要第二次才能监听到
2022-07-26 16:44
DCloud_iOS_WZT
回复 jianyu123: 你这个写的有问题吧,首次搜索完才添加新设备监听,那么首次肯定没有啊。你得先添加监听再搜索设备
2022-07-28 15:05
jianyu123 (作者)
已修改监听在搜索之前,但问题依旧存在
2022-07-29 15:14
jianyu123 (作者)
一个设备对应手机只有第一次搜索时监听不到,与app卸载重装无关
2022-07-29 15:15
DCloud_iOS_WZT
回复 jianyu123: onBluetoothDeviceFound 的回调 只有在 startBluetoothDevicesDiscovery 搜索到新设备的时候才会执行 为啥要把start写到deviceFound的回调里面?
2022-07-29 15:23
DCloud_iOS_WZT
你把这几个方法 分开写 先调用onBluetoothDeviceFound 然后再调用startBluetoothDevicesDiscovery start搜索到新设备 onBluetoothDeviceFound 里面会有回调
2022-07-29 15:24
DCloud_iOS_WZT
回复 jianyu123: 你可以直接用 hello uni app 项目测试下蓝牙 可以看一下示例项目怎么用的
2022-07-29 18:30