XTiger
XTiger
  • 发布:2019-04-29 17:08
  • 更新:2019-11-12 17:56
  • 阅读:1255

【报Bug】发现蓝牙还有几个未解决的个bug

分类:uni-app

详细问题描述

[内容]

1.IOS下写特征值时监听不到返回结果的bug。目前发现该问题可以通过在writeCharacteristics后调用一次readCharacteristics解决,我也不明白这中间有什么联系,反正是这样操作就能监听到返回结果了。

  1. IOS第一次打开app后第一次和蓝牙建立连接100%会自动中断连接,然后从第二次开始不会有该问题。目前采用的解决办法是监听连接状态,发现断开后自动重连;

  2. 安卓平台第一次连接蓝牙时间超长,经过反复测试,每次都在30秒以上,将近40秒,只要把蓝牙关掉再重新打开就是这样。查了资料,发解到安卓第一次建立连接后会缓存蓝牙数据,以后再连的时候就自己从缓存取数据,关闭蓝牙开关会清空缓存。这个问题很早前就发现了,以前是第一次连接蓝牙操作时,很长时间发现不了蓝牙信号,即在uni.onBluetoothDeviceFound里一直没有上报信号,但我的蓝牙设备是0.5秒就上报一次信号。这几天测试发现问题又变了,现在上报信号的时间很短了,基本2、3秒就能发现信号,但是uni.createBLEConnection却要执行很长时间才有反应,一般在30多秒,这就不正常了。特意用一个蓝牙测试的原生app试过,一般2、3秒就能连接成功。这个问题目前没找到解决办法,只能等官方了。

4.荣耀8X手机搜索不到蓝牙信号。目前手上的荣耀8X从来没有成功搜索到过蓝牙信号。 因为测试条件有限,目前只试过一部该型号手机。

目前APP已部署到生产环境,在小范围测试,上面3、4点是比较迫切的问题,跪求官方尽快更新。

重现步骤

[步骤]

[结果]

[期望]

[如果语言难以表述清晰,拍一个视频或截图,有图有真相]

IDE运行环境说明

[HBuilderX1.9.4]

[windows7]

[mac版本号]

uni-app运行环境说明

[运行端是app]

[项目是HBuilderX创建的]

App运行环境说明

[Android8、9]

[iOS9]

[荣耀8、荣耀8X、小米,红米,iphone5、6、7]

QQ
[3806994]

2019-04-29 17:08 负责人:无 分享
已邀请:
DCloud_Android_zl

DCloud_Android_zl

我看你测试机型中还有荣耀8,荣耀8能不能搜索到蓝牙设备

  • XTiger (作者)

    可以的


    2019-04-29 18:07

  • DCloud_Android_zl

    回复 XTiger: 再获取定位权限之后也搜不到设备吗?


    2019-04-29 18:10

  • XTiger (作者)

    回复 DCloud_Android_zl: 定位权限?蓝牙权限吧。反复试过的,不行


    2019-04-29 20:54

  • DCloud_Android_zl

    回复 XTiger: 部分手机搜索蓝牙的时候需要定位权限,检查一下定位权限有没有得到


    2019-04-30 10:41

  • XTiger (作者)

    回复 DCloud_Android_zl: 最新测试结果,可能是荣耀8X手机操作系统的问题,另一台手机也是同样的问题,升级到EMUI9.0就可以了,之前是EMUI8.2两台手机都不行


    2019-04-30 14:06

  • DCloud_Android_zl

    回复 XTiger: 还反馈说蓝牙第一次链接时长太长,又找到相关的帖子吗,我没有找到类似的帖子,我这边试的时候第一次链接没有反馈的时长那么长。


    2019-04-30 15:04

  • XTiger (作者)

    回复 DCloud_Android_zl: 你是怎么测试的,Hello uni-app里没有蓝牙的示例,我在微信小程序里测试是正常的,但自己做的app里就不行,在ios是正常的


    2019-04-30 16:24

  • DCloud_Android_zl

    回复 XTiger: 方便提供一个简单的demo吗?我用5+的示例测的


    2019-04-30 16:26

  • XTiger (作者)

    回复 DCloud_Android_zl: 找到问题所在了,由于原来安卓上报信号要很长时间才能发现设备,所以我最初设计的逻辑是一开始就直接连接蓝牙,2秒后如果没有连接成功再搜索蓝牙信号,这样第一次会慢点,但以后每次都很快了。现在还是这个逻辑就不行了,刚把直接连接的代码去掉了,每次都等发现设备后再连接,这样就没问题了,由于现在发现设备也很快,所以基本没问题了,非常感谢您!


    2019-04-30 16:37

  • XTiger (作者)

    回复 DCloud_Android_zl: 现在测试发现app上报设备时间还是有点长,虽然比以前好多了,但是还是要6秒左右,偶尔一次会很快,小程序则很快,基本启动就能发现设备,我的蓝牙设备广播信号间隔是0.5秒,我就用官方的示例测试的


    2019-05-01 13:28

6***@qq.com

6***@qq.com

你好,我安卓测试的时候蓝牙连接与断开都会导致基座重启,您这里有这个问题吗,想请教下有办法解决吗?

  • XTiger (作者)

    我这没有碰到过


    2019-08-20 09:02

1***@qq.com

1***@qq.com

蓝牙怎么写自动连接 异常断开的时候回连

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