3***@qq.com
3***@qq.com
  • 发布:2021-02-04 11:14
  • 更新:2021-02-23 14:02
  • 阅读:1341

【报Bug】uni.onBluetoothAdapterStateChange回调异常

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Mac

PC开发环境操作系统版本号: OS X EI Capitan

HBuilderX类型: Alpha

HBuilderX版本号: 3.0.7

手机系统: Android

手机系统版本号: Android 9.0

手机厂商: 华为

手机机型: COR-AL00

页面类型: vue

打包方式: 云端

项目创建方式: HBuilderX

操作步骤:
  1. 手机开启蓝牙功能
  2. 开启蓝牙扫描(uni.startBluetoothDevicesDiscovery)
  3. 手机关闭蓝牙功能,收到onBluetoothAdapterStateChange回调: {"discovering":true,"available":false}
  4. 关闭蓝牙扫描(uni.stopBluetoothDevicesDiscovery),返回成功
    收到onBluetoothAdapterStateChange回调: {"discovering":false,"available":true}

预期结果:

上述第4步收到的回调应该是 {"discovering":false,"available":false} ,或者其它合理的处理。

实际结果:

上述第4步收到的回调应该是 {"discovering":false,"available":true}

bug描述:

uni.onBluetoothAdapterStateChange回调异常

重现步骤如下:

  1. 手机开启蓝牙功能
  2. 开启蓝牙扫描(uni.startBluetoothDevicesDiscovery)
  3. 手机关闭蓝牙功能,收到onBluetoothAdapterStateChange回调: {"discovering":true,"available":false}
  4. 关闭蓝牙扫描(uni.stopBluetoothDevicesDiscovery),返回成功
    收到onBluetoothAdapterStateChange回调: {"discovering":false,"available":true}

BUG: 上述第4步收到的回调中 available 不应该是 true.

相关1: 同样的操作流程,小程序在第3步收到的回调是 {"discovering":false,"available":false} ,在第4步不会收到回调信息。

相关2: 如果手机关闭蓝牙功能后,程序不调用 uni.stopBluetoothDevicesDiscovery 来关闭蓝牙扫描,会有问题吗?

相关3: 第3步的回调哪个更合理,{"discovering":true,"available":false} 还是 {"discovering":false,"available":false} ?

相关4: 第4步哪种处理更合理,回调 {"discovering":false,"available":false} 还是 不回调?

谢谢!

2021-02-04 11:14 负责人:无 分享
已邀请:
3***@qq.com

3***@qq.com (作者)

如果手机关闭蓝牙功能后,不须要主动关闭蓝牙扫描的话,我这边暂时可以绕过去。

3***@qq.com

3***@qq.com (作者)

在收到onBluetoothAdapterStateChange回调: {"discovering":false,"available":true} 之后,开启蓝牙扫描(因为程序认为蓝牙已经开启),返回错误:10015.

如果收到 10015 就可以认为蓝牙已关闭,那我这边也可以处理一下。

  • 3***@qq.com (作者)

    先记录个细节,后续再把样例放上来。


    在收到错误10015后再次调用 uni.getBluetoothAdapterState 获取状态,与回调返回的值一致: {"discovering":false,"available":true}

    2021-02-04 16:08

3***@qq.com

3***@qq.com (作者)

这一层是为了顶上去的。

DCloud_UNI_Anne

DCloud_UNI_Anne

3***@qq.com

3***@qq.com (作者)

请跑一下附件的项目,可以重现。

3***@qq.com

3***@qq.com (作者)

附件是重现 bug 的视频

3***@qq.com

3***@qq.com (作者)

同样的代码在小程序上面不会有问题

3***@qq.com

3***@qq.com (作者)

同样的问题,在另一台 Android 手机上也出现。

华为荣耀8
机型: FRD-AL10
Android版本: 8.0.0

想问一下,有人在处理这个BUG吗?

3***@qq.com

3***@qq.com (作者)

在 HBuilder 3.1.2.20210206 版本仍是同样的问题。

3***@qq.com

3***@qq.com (作者)

每日一顶 求大佬翻牌

  • chirs

    自己做个插件呗或native用广播监听

    2021-02-23 18:01

  • 3***@qq.com (作者)

    回复 chirs: 666666 只能先这样了。谢谢哥们~

    2021-02-23 18:20

该问题目前已经被锁定, 无法添加新回复