帖子
帖子
用户
博客
课程
12下一页
返回列表 发新帖
显示全部楼层
6
帖子
0
勋章
830
Y币

[云开发] 模块【spputil】使用spputil的问题

[复制链接]
发表于 2022-6-20 17:44:33
问题描述:
1.在spputil.connect中,返回的status:true
2.调用spputil.isConnected方法,想要去检验是否连接成功,这里返回的status:false
3.请问,在步骤1中不是已经返回true,那不就是已经连接成功了嘛!但在步骤2中为什么又是false?
麻烦管理员看到回复我下,维护别人的项目,会有很多地方不懂,希望有人指导下!谢谢~
380
帖子
4
勋章
6
Y币
代码怎么写的?
执行顺序是怎样的
6
帖子
0
勋章
830
Y币
                goToSpputil(item) {
                    var that = this;
                    alert(JSON.stringify(item))
                    var spp = api.require('spputil');
                    spp.connect({
                        address: item.address//item.address  
                    }, function (ret, err) {
                        alert(JSON.stringify(ret))
                        var device = JSON.parse(ret.device)
                        if (ret.status) {
                            alert("连接蓝牙设备【" + device.address + "】成功");
                            that.ifConnect(item);
                        } else {
                            alert("连接蓝牙设备【" + device.address + "】失败:" + err.msg);
                        }
                    });
                },
                ifConnect(item) {
                    var that = this;
                    var spp = api.require('spputil');
                    spp.isConnected(function (ret) {
                        alert("设备的连接状态为:" + JSON.stringify(ret));
                        if (ret.status) {
                            that.oneConnect();
                            that.receiveBlue();
                        }
                    });
                },
第一个方法执行完,status=true,进入第二个方法,但是在方法二中返回的status=false,即设备未连接。
380
帖子
4
勋章
6
Y币
可能这个模块有问题,用ble 模块
Dywlapi · 2022-6-21 09:10goToSpputil(item) {
                    var that = this;
                    alert(JSON.stringify(item))
6
帖子
0
勋章
830
Y币
可否把这个问题修复下?
我现在是手机与其他的硬件设备进行蓝牙连接,不是手机与手机之间的。
技术咨询-F · 2022-6-21 09:59可能这个模块有问题,用ble 模块
380
帖子
4
勋章
6
Y币
ble 也是手机与蓝牙硬件啊

spputil 是个人开发者模块,2018年后就没更新过了,我这边联系看看,作者怎么说
Dywlapi · 2022-6-21 10:43可否把这个问题修复下?
我现在是手机与其他的硬件设备进行蓝牙连接,不是手机与手机之间的。

6
帖子
0
勋章
830
Y币
initBlue() {//初始化
                    var that = this;
                    var ble = api.require('ble');
                    ble.initManager(function (ret, err) {
                        alert(ret.state)
                        if (ret) {
                            switch (ret.state) {
                                case 'poweredOn':
                                    alert('蓝牙设备是开启状态');
                                    that.scanBlue();
                                    break;
                                case 'poweredOff':
                                    alert('蓝牙设备是关闭状态');
                                    break;
                                case 'resetting':
                                    alert('正在重置状态');
                                    break;
                                case 'unauthorized':
                                    alert('设备未授权状态');
                                    break;
                                case 'unknown':
                                    alert('初始未知');
                                    break;
                                case 'unsupported':
                                    alert('设备不支持的状态');
                                    break;
                            }
                        }
                        if (err) {
                            toast('蓝牙初始化失败' + err.code + ':' + err.msg);
                        }
                    });
                },
                scanBlue() {//3开始搜索蓝牙4.0设备
                    alert('scanBlue');
                    var that = this;
                    var ble = api.require('ble');
                    ble.scan({
                        //            serviceUUIDs: ['', '']
                    }, function (ret, err) {
                        if (ret.status) {
                            alert('正在搜索蓝牙设备');
                            that.getBlueInfo();
                        } else {
                            alert('搜索设备失败!' + err.code + ':' + err.msg);
                        }
                    });
                },
                getBlueInfo() {//4获取当前扫描到的所有外围设备信息
                    alert('getBlueInfo');
                    var that = this;
                    var ble = api.require('ble');
                    ble.getPeripheral(function (ret, err) {
                        if (ret.peripherals.length != 0) {
                            alert('获取到设备信息');
                            alert(JSON.stringify(ret.peripherals))
                            var blueUuid = ret.peripherals[0].uuid;
                            alert('设备信息' + blueUuid);
                            that.connectBlue(blueUuid);
                        } else {
                            alert('没有获取到任何设备信息');
                        }
                        if (err) {
                            alert('设备信息失败!' + err.code + ':' + err.msg);
                        }
                    });
                },
方法2中的scan完全搜索不到蓝牙信号,以至于方法3也获取不到设备信息,最后alert出来的是“没有获取到任何设备信息”能帮我看下,这是为什么吗?
技术咨询-F · 2022-6-21 10:55ble 也是手机与蓝牙硬件啊

spputil 是个人开发者模块,2018年后就没更新过了,我这边联系看看,作者怎么说
380
帖子
4
勋章
6
Y币
定位权限开启后再试试
Dywlapi · 2022-6-21 11:32initBlue() {//初始化
                    var that = this;
                    var ble = api.require('ble');
6
帖子
0
勋章
830
Y币
可以了,谢谢~
技术咨询-F · 2022-6-21 11:38定位权限开启后再试试
11
帖子
0
勋章
760
Y币
楼主能分享ble的使用吗?我想知道connectBlue是如何实现的。。。
12下一页
您需要登录后才可以回帖 登录

本版积分规则