- 当前 Bug 的表现(可附上截图)
在IOS和部分安卓机上用API可以正常获取到设备的服务通道,但是在有的安卓机上获取服务通道的时候报错,错误代码:10004。(在此之前可以确定设备的deviceId已经获取到,并且设备已经连接上)。就是获取不到服务通道!
- 预期表现
- 复现路径
- 提供一个最简复现 Demo
//在努比亚Z17机型上可以正常连接上设备,但是到获取服务的API时就报错10004(确定IOS及部分安卓机可以连接并正常获取服务);
deviceId: list.deviceId, success: function (res) {
wx.getBLEDeviceServices({ deviceId: list.deviceId, success(sevice) { console.log( '获取服务' , sevice) let idList = sevice.services; for (let i = 0; i < idList.length; i++) { if (idList[i].uuid.toLowerCase().indexOf( "ffe0" ) != -1) { //通知服务uuid notifyServiceId = idList[i].uuid } if (idList[i].uuid.toLowerCase().indexOf( "ffe5" ) != -1) { //写入服务uuid writeServiceId = idList[i].uuid } if (idList[i].uuid.toLowerCase().indexOf( "1530" ) != -1) { //DFU服务uuid serviceUUID = idList[i].uuid wx.getBLEDeviceCharacteristics({ deviceId: list.deviceId, serviceId: idList[i].uuid, //notify通道 服务 只有一个特征值 success: function (res) { console.log( '特征值' ,res) for (let j in res.characteristics) { if (res.characteristics[j].uuid.toLowerCase().indexOf( "1531" ) != -1) { cd30 = res.characteristics[j].uuid; } if (res.characteristics[j].uuid.toLowerCase().indexOf( "1532" ) != -1) { cd32 = res.characteristics[j].uuid; } } } }) } } } }) },500) }, fail: function (err) { console.log( '失败回调' , err) } }) |
这个还请开发者自查https://developers.weixin.qq.com/miniprogram/dev/api/wx.getBLEDeviceServices.html
设备是有广播服务的,而且其他手机都能获取到,就是这个手机获取不到。心好累,不想做开发了