收藏
回答

小程序扫描蓝牙广播卡死的问题

问题模块
API和组件

最近调试微信小程序蓝牙扫描广播,遇到两个比较严重的问题:

  1. 当在小程序中执行wx.startBluetoothDevicesDiscovery后,若是在周边有很多蓝牙设备(比如超过200个蓝牙设备同时发送蓝牙广播),有些安卓手机上的小程序会马上变得很卡顿,甚至导致微信卡死(360N5S手机则是扫描时周围有40个蓝牙设备左右就开始很卡顿了,锤子坚果pro手机可能是周围有200个蓝牙设备开始卡顿,小米5s plus也是周围有几十个蓝牙设备在发广播就开始卡顿),但是苹果手机没有出现这个问题;

  2. 有些安卓手机,比如锤子手机坚果pro(安卓版本7.1.1)通过微信小程序搜索蓝牙广播时,只能运行30分钟,超过30分钟后,就再也搜索不到任何蓝牙广播数据,这个时候,必须要靠人工手动关闭蓝牙,再打开蓝牙,微信小程序又可以搜索到蓝牙了,否则若是简单的退出杀死小程序,再重新进入打开小程序执行蓝牙wx.startBluetoothDevicesDiscovery语句,仍然是无法搜索蓝牙的。


这两个问题困扰好几天了,麻烦官方工程师能支持一下。

最后一次编辑于  2017-12-27  (未经腾讯允许,不得转载)
回答关注问题邀请回答
收藏

3 个回答

  • 王翊夫if
    王翊夫if
    2017-12-27

    你好!

    1. 是否在 onDeviceFound 回调里面做了一些比较占用内存的操作呢?

    2. 这个问题需要详细看一下,麻烦说一下出现问题的微信版本和微信号,你也可以试试看在不需要搜索的时候先暂停蓝牙搜索。


    2017-12-27
    赞同
    回复
  • 陈康
    陈康
    2017-12-27

    另外,还有两个现象:

    1. 当扫描不到任何蓝牙广播数据时,我们退出小程序,杀死小程序,然后再重新进入小程序,问题依然存在,扫描接收不到任何广播数据,除非手动重新关闭蓝牙再打开蓝牙;

    2. 当扫描不到任何蓝牙广播数据时,我们按home返回手机桌面,小程序在后台保持运行,这个时候我们打开自己开发的app,还是能正常接收蓝牙广播数据的,如果这个时候我们再次回到小程序,小程序有时又能接收到蓝牙广播数据了。

    2017-12-27
    赞同
    回复
  • 陈康
    陈康
    2017-12-27

    多谢回复!我们的场景是需要一直搜索蓝牙广播,类似beacon应用。

    小米手机5s plus微信版本号是6.5.23和6.6.0都用过,微信号是CK-410

    锤子手机坚果pro的微信版本号是6.5.22,微信号是zhougongzi6485

    360手机n5s的微信版本号是6.6.0,微信号是L18902465342

    可以帮忙重点跟踪一下12月23号周六下午的日志,我们集中测试了很久

    2017-12-27
    赞同
    回复