小程序蓝牙开发遇到个奇怪的问题
发布于 5 年前 作者 qiangang 15366 次浏览 来自 问答

初始化数据

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了呀。

求大神指点。

5 回复

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

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

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

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

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

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

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

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

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

回到顶部