收藏
回答

安卓机onBLEConnectionStateChange无法监听到蓝牙设备断开

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

- 当前 Bug 的表现(可附上截图)


- 预期表现


- 复现路径


- 提供一个最简复现 Demo


使用wx.onBLEConnectionStateChange,监听蓝牙设备的连接状态。ios连接成功和设备断开都是有回调的是正常的,安卓连接成功有回调,设备断开一直没有回调。有人遇到过吗。官方认证下是否是存在这个问题

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

10 个回答

  • kkk
    kkk
    2019-08-15

    官方只会这两招吗?要么贴代码片段,要么上传日志,然后没声音了。看了与蓝牙相关的这么多问题,没看见能解决的。

    2019-08-15
    有用 10
    回复 1
    • ㅤ
      2023-06-14
      经典装死
      2023-06-14
      回复
  • 赵大海
    赵大海
    2019-08-15

    官方要了代码然后呢?这个问题很好复现啊。

    安卓在异常断开时,只有监听了notify才会触发onBLEConnectionStateChange回调!这肯定是bug啊!

    参考:https://www.jianshu.com/p/92f84b20364d

    2019-08-15
    有用 1
    回复
  • IMpBear
    IMpBear
    2022-12-01

    遇到了同样的问题,还是没有解决!

    2022-12-01
    有用
    回复
  • 风雨者
    风雨者
    2022-01-01

        wx.onBLEConnectionStateChange((res) => {

          console.log(`device ${res.deviceId} state has changed, connected: ${res.connected}`)

        })

    我的蓝牙设备关机后,这个代码不触发,然后我再开机,这个代码就触发了!求解决方案

    2022-01-01
    有用
    回复 1
    • 东皋清流
      东皋清流
      2022-09-08
      还没到超时时间呢,了解一下蓝牙心跳周期
      2022-09-08
      回复
  • spider
    spider
    2020-05-22

    今天也遇到 onBLEConnectionStateChange 无法监听的情况,因为之前是可以监听的。所以去检查代码时发现,调用了取消监听事件offBLEConnectionStateChange ,跟楼主情况不一样,但也给个思路,因为离改代码时间久了,确实会出现这种忘记自己有写过的情况

    2020-05-22
    有用
    回复
  • Cartman
    Cartman
    2020-03-27

    遇到同样的问题, 必须打开一个characteristic的notify才能收到异常断开的回调

    2020-03-27
    有用
    回复
  • Aspire
    Aspire
    2019-09-10

    老铁们 解决了没有 客户天天骂街 蓝牙断开没有提示

    2019-09-10
    有用
    回复 2
    • 赵大海
      赵大海
      2019-11-15
      只有监听了notify才会触发onBLEConnectionStateChange回调
      2019-11-15
      回复
    • An
      An
      2020-03-09回复赵大海
      ok,确实需要notify
      2020-03-09
      回复
  • 郑先生zyz
    郑先生zyz
    2019-08-15

    楼主问题找到原因了吗?

    2019-08-15
    有用
    回复
  • Mr.
    Mr.
    2019-06-05

    安卓vivo 手机,小米红米手机,大多数安卓手机;微信版本:7.0.4, 基础库:2.7.1,

    连接蓝牙设备成功后,wx.onBLEConnectionStateChange有成功的回调。关闭或将蓝牙设备断电,wx.onBLEConnectionStateChange没有回调。


    上面流程在ios是没问题,安卓差异在于关闭或将蓝牙设备断电,wx.onBLEConnectionStateChange没有回调。ios是有回调的,即正常监听到蓝牙设备连接断开。安卓不行。


    因为是要用蓝牙设备的,代码片段也无法测试。

    2019-06-05
    有用
    回复
  • 疯狂的小辣椒
    疯狂的小辣椒
    2019-06-05

    你好,麻烦提供出现问题的具体机型、微信版本号、系统版本号,以及能复现问题的代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)

    2019-06-05
    有用
    回复 8
    • Mr.
      Mr.
      2019-06-05

      https://developers.weixin.qq.com/community/develop/doc/0000e47a3d4e3085a6362abed52000?highLine=wx.onBLEConnectionStateChange

      这个问题是要有一些人遇到

      2019-06-05
      回复
    • Mr.
      Mr.
      2019-06-05

      安卓vivo 手机,小米红米手机,大多数安卓手机;微信版本:7.0.4, 基础库:2.7.1,

      连接蓝牙设备成功后,wx.onBLEConnectionStateChange有成功的回调。关闭或将蓝牙设备断电,wx.onBLEConnectionStateChange没有回调。


      上面流程在ios是没问题,安卓差异在于关闭或将蓝牙设备断电,wx.onBLEConnectionStateChange没有回调。ios是有回调的,即正常监听到蓝牙设备连接断开。安卓不行。


      因为是要用蓝牙设备的,代码片段也无法测试。


      2019-06-05
      回复
    • 疯狂的小辣椒
      疯狂的小辣椒
      2019-06-05回复Mr.

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

      2019-06-05
      回复
    • Mr.
      Mr.
      2019-06-05回复疯狂的小辣椒

      上传了日志,微信号seen81607583 时间段2019-6-5 15:15~15.20

      2019-06-05
      回复
    • Mr.
      Mr.
      2019-06-06回复疯狂的小辣椒

      上面的信息帮忙看下,比较急

      2019-06-06
      回复
    查看更多(3)
登录 后发表内容