1***@qq.com
1***@qq.com
  • 发布:2024-09-14 09:22
  • 更新:2024-09-18 16:05
  • 阅读:54

【报Bug】蓝牙模块能打开,但完全搜索不到设备

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: win11

HBuilderX类型: 正式

HBuilderX版本号: 3.99

手机系统: Android

手机系统版本号: Android 12

手机厂商: 不止一台,能拿到的手机都试了

手机机型: 不止一台

页面类型: vue

vue版本: vue2

打包方式: 云端

项目创建方式: HBuilderX

示例代码:
uni.openBluetoothAdapter({  
    success:(res)=>{  
        console.log('蓝牙模块打开成功')  
        uni.startBluetoothDevicesDiscovery({  
          success(res) {  
              console.log('startBluetoothDevicesDiscovery:')  
            console.log(res)//{"errMsg":"startBluetoothDevicesDiscovery:ok"}    
          }  
        })  
        uni.onBluetoothDeviceFound(function (devices) {  
            console.log('检索到的蓝牙设备:')  
            console.dir(devices)    //这里完全就是个空的  
        })  

        setTimeout(()=>{  
            uni.getBluetoothAdapterState({  
              success(res) {  
                console.log(res)  
                /* 这个打印出来是:  
                {  
                    "discovering": true,  
                    "available": true,  
                    "errMsg": "getBluetoothAdapterState:ok"  
                } */  
              }  
            })  
        }, 1000)  
    },  
    fail:(res)=>{  
        console.log('蓝牙模块打开失败',res)  
    },  
    complete:(e) => {  
        console.log('complete:')  
        console.log(e)//{"errMsg":"openBluetoothAdapter:ok"}   
    }  
})  

操作步骤:

直接在onLoad里面运行上面的代码

预期结果:

打印出搜索到的蓝牙设备列表

实际结果:

完全搜索不到

bug描述:

用hbuilder云打包的app和直接用hbuilder连手机调试,createBLEConnection始终连接不上,后来尝试startBluetoothDevicesDiscovery直接检索蓝牙列表,发现也检索不出来(手机蓝牙和其他蓝牙软件都能查到),干脆新建了一个工程,单纯的就是检索蓝牙列表,也是空的,感觉完全搜索不到蓝牙设备了。(用getBluetoothAdapterState查了下状态都正常)

定位也都开了的。。。权限也有

代码和打印信息如图。

2024-09-14 09:22 负责人:无 分享
已邀请:
1***@qq.com

1***@qq.com (作者)

有人能解决一下吗?

1***@qq.com

1***@qq.com


uni.startBluetoothDevicesDiscovery({  
                    success(res) {  
                        // console.log('开始搜索', res);  
                        uni.onBluetoothDeviceFound(function(el) {  
                            // console.log('找到蓝牙名字:',el, el.devices[0].name);  
                        })  
                    },  
                    fail(err) {  
                        console.log('搜索失败', err)  
                    },  
                })
```这样试试
  • 1***@qq.com (作者)

    谢谢,这样试过了的,一样的,完全搜索不到。

    2024-09-19 08:12

要回复问题请先登录注册