使用Android 手机与蓝牙节点进行数据传输,两次连接之间延时太长
时间:10-02
整理:3721RD
点击:
使用Android手机与多个蓝牙节点进行通信,采用“扫描-连接-数据传输-断开连接”这种方式,当手机与一个节点断开连接之后,再次连接时延时很长,至少10s,这是怎么回事?有遇到过类似问题的吗?
1、首先确认设备断开后,是否立即广播,广播间隔是多少?
2、确认手机断开后是否立即扫描,扫描间隔是多少?
3、这个可能与android特性有关,具体是什么,俺也不是太清楚
4、在线期待更专业的回复……
首先谢谢你的回答:
1.蓝牙设备的广播间隔是几百毫秒,使用抓包工具也可以明显的看到在发广播包。
2.Android手机的扫描间隔为1s,断开连接之后立即开启了扫描。
问题就在立即开启扫描之后(应用程序里面是开启了,但不知道Android底层有没有开启),再次发现这个设备就需要10s的时间。如果单独测试扫描设备而不建立连接的话,可以很快发现设备,但是在建立连接之后,再次扫描该设备就很慢。
已解决。断开连接之后使用handler将扫描任务提交到后台线程即可,若直接调用扫描函数,则会有较大延时。