收藏
回答

蓝牙写入的接口writeBLECharacteristicValue,回调是假的

问题模块 框架类型 问题类型 终端类型 操作系统 微信版本 基础库版本
框架 小程序 Bug 客户端 iOS 6.6.7 2.0.8

蓝牙写入的接口writeBLECharacteristicValue   进入了 success  然后我都看到了 writeBLECharacteristicValue:ok,但是设备不会做成任何响应,我查询了社区 很多人遇到类似的问题,  苹果端我用工具调试的时候是好的,但是我代码提交审核发布以后,经常出现 写成功了 但是硬件没有响应。

最后一次编辑于  2018-05-30
回答关注问题邀请回答
收藏

3 个回答

  • 社区技术运营专员-娇华
    社区技术运营专员-娇华
    2018-05-30

    你好,麻烦提供下小程序的appid和出现问题的设备型号

    2018-05-30
    赞同
    回复 3
    • 程序人生
      程序人生
      2018-05-31

      能帮忙看下吗?IOS经常出现这个问题!

      2018-05-31
      回复
    • 程序人生
      程序人生
      2018-05-31

      我仔细了对比了 日志 ,  getBLEDeviceServices  返回结果安卓比IOS多两个,你看写入的时候都返回成功了,标黄的是我返回的写成功回调!

      2018-05-31
      回复
    • 程序人生
      程序人生
      2018-05-31

      我仔细看了下 ,我用开发者工具远程调试的时候 , IOS也是搜索到3个服务,但是每次写入数据是真的成功,我提交发布以后就不行。

      2018-05-31
      回复
  • 王翊夫if
    王翊夫if
    2018-05-31
    1. getBLEDeviceServices  返回结果安卓比IOS多两个      这个是正常表现,安卓会比 iOS 多发现两个 1800 与 1801 两个 Service;

    2. writeBLECharacteristicValue:ok  如果 api 返回 ok,即是系统已向小程序侧返回 write 成功的结果了,小程序侧不存在返回假回调的情况; 如果write 指定的特征值支持的属性为 writeWithoutResponse,系统不会等待 write 是否被设备接收的结果,而是在执行 write 操作成功后立即返回 success;

    3. 一般来说开发版小程序与正式版小程序在蓝牙接口上实现不会有区别,楼主是否方便上传下你的代码片段,然后找台有问题的机器重现几次后,在 通讯录 - 右上角添加好友 - 搜索框填入 :up - 上传当天日志

    4. 也可以在代码上尝试一下在 write 的时机延迟 200ms 再调用 writeBLECharacteristicValue 接口,看是否是因为时序问题导致的

    2018-05-31
    赞同 1
    回复 3
    • 程序人生
      程序人生
      2018-05-31

      您好 ,感谢回复, 日志我已经上传了 

      代码如下


      2018-05-31
      回复
    • 程序人生
      程序人生
      2018-06-04回复程序人生

      这几天我试了各种方案 写数据延迟我也试了,  就是那个问题, 调试的时候代码没问题,写数据蓝牙也能做出回应 ,但是提交审核以后就不行,  偶尔才能真正的写成功!

      2018-06-04
      回复
    • 程序人生
      程序人生
      2018-06-05回复程序人生

      能帮忙看下吗?

      2018-06-05
      回复
  • 程序人生
    程序人生
    2018-05-30

    APPID: wxe129b6118c60759e

    关键我用开发者工具的调试 每次都能写成功打开,  我发布了正式版 所有的苹果手机经常出现这个问题,我都收到了writeBLECharacteristicValue:ok  但是, 硬件没有任何回应!  感谢


    2018-05-30
    赞同
    回复