溜鲸鱼的猫
溜鲸鱼的猫
  • 发布:2023-11-07 15:24
  • 更新:2024-06-04 17:59
  • 阅读:454

uniapp ios app 获取蓝牙特征值时uni.getBLEDeviceCharacteristics有时都获取成功了 有时候明明有这个特征值他报错10005 没有找到指定特征值

分类:uni-app
getBLEDeviceServices(deviceId) {  
                console.log(deviceId);  
                var that = this  
                uni.getBLEDeviceServices({  
                    deviceId,  
                success: (res) => {  
                        console.log(res); //这里又密码服务 0000EEE0 通过这个服务判断是否显示密码框  
                        console.log(res.services.length);  
                        for (let i = 0; i < res.services.length; i++) {  
                            console.error('7777777777777', res.services[i].isPrimary);  

                            if (i == 0 || i == 1) {  
                            // if (res.services[i].isPrimary) {  
                                that.getBLEDeviceCharacteristics(deviceId, res.services[i].uuid)  
                            }  
                        }  
                        var times = setInterval(() => {  
                            // console.log(that.uuid);   
                            if (that.uuid) {  
                                // console.log(hhhhh);  
                                clearInterval(times)  
                                that.fistHandshake()  
                            }  
                        }, 500);  
                    }  
                })  
            }, //获取蓝牙设备所有服务(service)。  

            //获取所有特征值    
            getBLEDeviceCharacteristics(deviceId, serviceId) {  
                console.error(deviceId, serviceId);  
                uni.getBLEDeviceCharacteristics({  
                    deviceId,  
                    serviceId,  
                    success: (res) => {  
                        // 这里有rxp数据的uuid  并且显示了每个特征值是否可读写   
                        //   
                        console.log(res);  
                        console.error(res.characteristics.length);  
                        for (let i = 0; i < res.characteristics.length; i++) {  
                            let item = res.characteristics[i]  

                            if (item.properties.read) {  
                                uni.readBLECharacteristicValue({  
                                    deviceId,  
                                    serviceId,  
                                    characteristicId: item.uuid,  
                                    success(res) {  
                                    },  
                                    fail: function(res) {  
                                        // 读取失败的处理逻辑  
                                        console.error('特征值读取失败:', res);  
                                    },  
                                })  
                            }  
                        }  
                        console.error("222222222222222222222222222222", this.namewrite, this.rxpyes);  
                    },  
                    fail(res) {  
                        console.error('getBLEDeviceCharacteristics', res)//总是报错这里   
                    },  
                    complete(res) {   
                        console.error('getBLEDeviceCharacteristics', res)  
                    }  
                })

fail(res) {
console.error('getBLEDeviceCharacteristics', res)//总是报错这里
},这里总是报错 10005 只有第一次的特征值成功了 第二个特征值读取就报10005 但有时候就会都成功 同一个蓝牙 都距离手机很近

2023-11-07 15:24 负责人:无 分享
已邀请:
apppws

apppws

我也是遇到这样的问题,安卓没有问题。IOS获取到特征值监听的时候 会报 10005 错误

s***@163.com

s***@163.com

请问这个问题解决了么

要回复问题请先登录注册