同样的代码,在安卓手机可以正常调用writeBLECharacteristicValue向蓝牙设备写入,但是在iphone手机(版本11.2.2)上调用,返回错误编码10008,错误信息“the value's length is invalid”,请大佬告知如何解决。代码如下:

wx.notifyBLECharacteristicValueChange({

     state: true,

     deviceId: deviceId,

     serviceId: notifyserviceId,

     characteristicId: notifycharacteristicId,

     success: function (res) {

       console.log("notify success")

       setTimeout(function () {

         that.writeBLECharacteristicValue(deviceId, writeserviceId, writecharacteristicId)

       }, 2000);

     },

     fail: function (res) {

       console.log("notify fail:" + res.errMsg)

     }, complete : function() {

       wx.onBLECharacteristicValueChange(function (res) {

         console.log(res)

       });

     }

   })

 },

 writeBLECharacteristicValue: function (deviceId, writeserviceId, writecharacteristicId) {

   var that = this

   let buffer = new ArrayBuffer(1)

   let dataView = new DataView(buffer)

   dataView.setUint8(0, 0)

   wx.writeBLECharacteristicValue({

     deviceId: deviceId,

     serviceId: writeserviceId,

     characteristicId: writecharacteristicId,

     value: buffer,

     success: function (res) {

       console.log('write success')

     },

     fail(res) {

       console.log('write fail')

       console.log(res)

     }

   })

 },


展开全部
收起
1回答
提交回答
  • 至过去的我

    2044人对此回答表示赞同

    我是未来的你,你现在是不是在年找寻小程序答案。你不要感觉诧异,给你来信原因,就是让你不在后悔。今天去学习如何推广小程序,相信......点击查看更多>
    发布于
  • Fiona徐诗吟

    2人对此回答表示赞同

    写入的字节长度改大一些(不超过20个字节)试试吧

    展开
    2
    3回复
    发布于 5年前

    评论(3)

    收起评论

    • 旋转跳跃 2019-02-18 17:25

      已经成功调用这两个方法了,两个方法都返回success

      回复
    • Tala 2019-02-20 22:04

      微信小程序IOS下请确保在调用wx.notifyBLECharacteristicValueChange之前已经成功调用下面2个方法:

      回复
    • 如花 2019-02-22 21:13

      谢谢回复,我设置了16位,还是报错

      回复
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
咨询热线

13312967497

扫码添加业务即可随时咨询 还可领取小程序推广攻略

业务咨询: 13312967497
扫码咨询

扫码咨询套餐

回到顶部