Open CGseng opened 5 years ago
抱歉没及时回复。 我们已找人在看这个问题,稍候回复,请稍候。
根据你的描述我们这边没法定位到确切的信息,希望你可以提供以下信息,便于我们定位问题:
请问出问题的对讲机是哪款?1 or 1S or 2 ?
1.手机系统版本 iOS 10.2.1 2.APP 米家V4.13.0
1.在其他手机iPhoneX,iOS12.1.4 ,App米家V4.13.0 测试此问题未复现
蓝牙连接失败,我们怀疑是上次退出插件时蓝牙没断开 请试试此文档中的建议:https://github.com/MiEcosystem/ios-rn-sdk/issues/27
error.code = 404 这个错误出现表示在指定时间中未能找到指定设备,出现情况一般为设备不在周边或者设备已经被连接。 可以的话检查下是否是退出时的蓝牙断开接口未执行,还是执行了但是断开连接有延迟。 断开蓝牙方式可以看下 #27 。
执行了断开操作有延时,有5s左右延时,在其他手机上没有延时
那你就“成功断开了蓝牙连接”才退出插件呢。
这样的话副作用顶多是退出插件会慢一点
你这种方案会影响产品效果,不太能接受,还是希望你们能做机型适配。这种方式不是慢一点点,点了返回按钮5s多没有任何反应
@CGseng 米家提供的解决方案:“成功断开了蓝牙连接,再退出插件”本身没问题,问题在于:断开的慢
,如果正常断开的话,是很快的,那你调完断开马上退出插件也没问题。
断开慢的原因是 没有正确的去断开设备,米家提供的是API的基本能力,如果直接调用断开,大概率是不能及时断开的。
我的经验里有两个方案适合你:
方案一:需要先关闭写使能,再调用断开,就可以了。
方案二:发命令给设备,让设备执行断开。
当然前提是,米家提供的API的基本能力没Bug。Native里两个方案都没问题。
我们内部整个demo试了下,频繁的连接/断开 蓝牙(没发送数据),没出现断连延时的问题。
所以请您试下:
我这边在断开蓝牙操作前,根据我的log确认未进行读写数据操作。还有一个关键点是你们测试的手机是否是iOS10.2.1 的iPhone6s ,因为目前我只在这个手机上能复现这个问题。
你还是试下“1. 暂时关掉插件中蓝牙数据读写操作,看是否还出现此问题。” 目前没什么头绪的情况下,只能靠排除法先分析了
因为我们这边试过:只是频繁连接/断连蓝牙,不发送数据,是不会出现此问题的
我这边已经尝试了只有连接断开进行蓝牙数据读写,连接上之后注释了其他蓝牙操作,断开蓝牙依然会有延时,延时也并未有任何好转,所以请确定你们测试环境和我们的是否一致
Bug Report
实际现象
复现步骤:
【前提条件】:
设备绑定未连接
【操作步骤】:
场景1:退出,等待对讲机端蓝牙断开,再重新连接,反复操作
场景2:退出,对讲机端蓝牙未断开,再重新进入连接,反复操作
【实际结果】:
蓝牙无法连接 ,【复现概率10%左右】
【期望结果】:
连接正常
测试手机:iphone6s