收藏
回答

小程序蓝牙开发遇到个奇怪的问题

问题模块
API和组件

初始化数据

data: {
    connecting:false
  },

......

tapLog: function(){
    console.log('tap connecting',that.data.connecting)
},

......

wx.createBLEConnection({
        deviceId: that.data.deviceId,
        success: function (res) {
          console.log('连接蓝牙设备 成功',res)
          that.setData({
             connecting: true
          })

          console.log('run connecting',that.data.connecting)

......

onHide:function(){
   wx.closeBLEConnection({
      deviceId: that.data.deviceId,
      success: function (res) {
        console.log('断开成功', res)
      }
    })

  },
  onUnload:function(){
    wx.closeBLEConnection({
      deviceId: that.data.deviceId,
      success: function (res) {
        console.log('断开成功', res)
      }
    })

  }

......


问题描述(苹果手机):

当手机蓝牙功能打开的时候,进入小程序导航页,再点击按钮进入蓝牙功能页,可以正常连接;

从日志看 run connecting为true,tap connecting为true,运行正常。


当手机蓝牙功能关闭的时候,进入小程序导航页,再点击按钮进入蓝牙功能页,此时打开手机蓝牙功能,搜索连接,也可以正常连接;

此时按微信左上角的返回到导航页,再点击进入蓝牙功能页,搜索连接都成功了,测试也可以收发消息。

但是从日志看 run connecting为true,tap connecting为false,即此时数据connecting确实是不知道什么时候变成了false,明明在连接蓝牙设备成功的时候赋值为true了呀。


求大神指点。

最后一次编辑于  2017-08-10  (未经腾讯允许,不得转载)
邀请回答
复制链接收藏投诉关注问题回答

5 个回答

  • 韬々
    韬々
    2017-08-10

    你好,请问方便提供一下小程序的appId以及vConsole的截图么?


    如果方便请问能提供更详细的业务代码么?这样方便定位问题

    2017-08-10
    赞同
    回复
  • hereim
    hereim
    2017-08-10

    图一为:先打开手机蓝牙,再进入小程序,只要不手动关闭手机蓝牙,怎么操作都正常。



    图二为:手机蓝牙处于关闭状态,进入小程序蓝牙功能页面,打开手机蓝牙,初始化,搜索连接,可以连接成功connecting值也正常。此时点击左上角返回,我调用了关闭连接,然后再进入蓝牙页面,初始化,搜索连接,也可以连接成功,测试接收发送数据也可以。但是此时点击查看connecting变成了fasle。

    因为我要根据connecting的值来渲染界面提示,不知道connecting什么时候变成false的。因为我用日志跟踪connecting程序运行到最后connecting仍然是true。


    2017-08-10
    赞同
    回复
  • hereim
    hereim
    2017-08-10

    图二补充:我的程序每次进入小程序蓝牙功能页面,都会进行蓝牙初始化操作

    onLoad:function(options){
        var that = this
        wx.openBluetoothAdapter({
          success: function (res) {
            console.log('初始化蓝牙适配器 成功', res)
             // 开始搜索
          },
          fail: function (res) {
            console.log('初始化蓝牙适配器 失败', res)
          }
        })

    ......

    2017-08-10
    赞同
    回复
  • 韬々
    韬々
    2017-08-10

    你好,如果可以请麻烦提供一下小程序的appId,或者觉得不方便的话麻烦加一下我的微信 qianyeddz,我们一起来看一下这个问题

    2017-08-10
    赞同
    回复
  • hereim
    hereim
    2017-08-10

    好的谢谢,我加您微信了。

    2017-08-10
    赞同
    回复