小程序的蓝牙API 写入数据显示成功但实际对方并没有收到?
发布于 7 年前 作者 taoxiulan 14222 次浏览 来自 官方Issues

        给公司开发的一款蓝牙助手小程序,自己测试用的iphone6s plus,所有的功能都完美运行,但是到其他手机尤其是安卓机和高版本的iphone,向蓝牙设备写数据都显示成功,但实际上对方并没有收到,也无法做出响应。现在已知的iphone7、iphone8、iphoneXR、小米9、荣耀V9、荣耀V10都有这种情况,测试成功的有iphone6splus、华为P10 、小米5,不知道是什么原因,希望官方能帮助解惑

        写入数据的代码,参数和arraybuffer转换函数都是测试过没问题的

/**

 * 向蓝牙发送数据

 * @param {Object} dataArr

 * @param {Object} deviceId

 * @param {Object} serviceId

 * @param {Object} characteristicId

 */

const sendData=function(dataArr,deviceId,serviceId,characteristicId,callback){

// 数组转内存

let ab=this.arr2ab(dataArr),myRes={};

 

// 传数据到蓝牙设备

uni.writeBLECharacteristicValue({

deviceId:deviceId,

serviceId:serviceId,

characteristicId:characteristicId,

value:ab,

success:function(res){

// console.log(‘数据写入成功’)

myRes={code:0,msg:dataArr[0]+‘数据写入成功’},

callback(myRes)

},

fail:function(res){

myRes={code:1,msg:dataArr[0]+‘数据写入失败’},

callback(myRes)

}

})

}

补充一下,开发用的是uni-app

1 回复

你好,麻烦在手机微信那里上传下日志: 我->设置->帮助与反馈右上角有个上报日志的入口,麻烦提供一下微信号,时间点

回到顶部