收藏
回答

安卓微信小程序蓝牙连接打印机,代码执行成功,打印机没有响应,苹果可以正常使用

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 Bug writeBLECharacteristicValue 客户端 Version.7.0.4 2.7.0

-

安卓微信小程序 发送打印指令  代码显示打印成功   打印机没有响应    苹果的可以正常使用


安卓小程序发送指令代码显示发送指令成功 打印机不响应


function writeBLEValue(arrayBuffer){

console.log(serviceId)

console.log(writeCharacteristic)

  if(!serviceId || ! writeCharacteristic){

    wx.hideLoading()

    wx.showToast({

      title: "传输数据失败",

      image: "src/icon_fail.png"

    })


    return

  }


  let count = arrayBuffer.byteLength

  if (count > maxBit) 

  {


    let leftArrayBuffer = arrayBuffer.slice(maxBit)

    try{

      wx.writeBLECharacteristicValue

      ({

        deviceId: connectedDeviceId,

        serviceId: serviceId,

        characteristicId: writeCharacteristic,

        value: arrayBuffer.slice(0, maxBit),

        success: function (res) {

          // console.log("分部传输中")

          writeBLEValue(leftArrayBuffer)

        

        },

        fail:function(e){

        

          console.log(e)

          wx.hideLoading()

          wx.showToast({

            title: "传输数据失败",

            image: "src/icon_fail.png"

          })

        }

      })

    }

    catch (err) {


      wx.showToast({

        title: "传输数据失败",

        image: "src/icon_fail.png"

      })

    }


  }else

  {

    try{

    // console.log("最后一部分")

      wx.writeBLECharacteristicValue

        ({

          deviceId: connectedDeviceId,

          serviceId: serviceId,

          characteristicId: writeCharacteristic,

          value: arrayBuffer,

          success: function (res) {

            console.log("打印成功")

            console.log(res)

            wx.hideLoading()

          },

          fail: function (e) {

            

            console.log(e)

            wx.hideLoading()

            wx.showToast({

              title: "传输数据失败",

              image: "src/icon_fail.png"

            })

          }

        })

    }

    catch(err){

      

      wx.showToast({

        title: "传输数据失败",

        image: "src/icon_fail.png"

      })

    }

  }

  glbCmd = ""

  _currentBold = -1

  _currentFont = -1

}


回答关注问题邀请回答
收藏

6 个回答

  • 袁彰
    袁彰
    2019-12-05

    这个问题解决了吗?遇到同样问题了

    2019-12-05
    有用 1
    回复
  • 刘伟
    刘伟
    01-12

    问题的关键就是字节要设为20。不然安卓上数据会过大接收不了

    01-12
    有用
    回复
  • A🍀 季 🌴A
    A🍀 季 🌴A
    2021-09-29

    为啥返回都成功了,打印机没反应的

    2021-09-29
    有用
    回复
  • Aaron
    Aaron
    2019-10-08

    楼主这个问题解决了吗

    2019-10-08
    有用
    回复
  • 李锐勇逗比
    李锐勇逗比
    2019-05-17

    我也是碰到这种情况,奇怪了,苹果都没问题,安卓的没有使用wepy的小程序可以,使用wepy的不行,但是wx.writeBLECharacteristicValue都是成功了的,参数看了也没问题

    2019-05-17
    有用
    回复 9
    • free
      free
      2019-05-17

      大神 方便把代码发过来 看看吗 1006260688@qq.com

      2019-05-17
      回复
    • 李锐勇逗比
      李锐勇逗比
      2019-05-17

      一样的代码呀,都是调用

      wx.writeBLECharacteristicValue


      2019-05-17
      回复
    • free
      free
      2019-05-17回复李锐勇逗比

      这个问题好久了,你用安卓好歹打印成功过,我用安卓手机打印从来没有响应过

      2019-05-17
      回复
    • 李锐勇逗比
      李锐勇逗比
      2019-05-17

      我发现好像是ArrayBuffer太长了导致的。。。

      2019-05-17
      回复
    • free
      free
      2019-05-18回复free

      你的可以了吗?我试了下,改小也还是没反应...

      2019-05-18
      回复
    查看更多(4)
  • 疯狂的小辣椒
    疯狂的小辣椒
    2019-05-17

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

    2019-05-17
    有用
    回复 3
    • free
      free
      2019-05-17

      微信号 jj1006260688 时间点 14 点07左右   日志已上传


      2019-05-17
      回复
    • 疯狂的小辣椒
      疯狂的小辣椒
      2019-05-17回复free

      试试原生ble接口是否能成功?

      2019-05-17
      回复
    • 闫婧
      闫婧
      2020-03-23
      把长度定义成20
      2020-03-23
      回复
登录 后发表内容