2016-08-03 79 views
1

我的Android应用程序使用的Android BLE连接速度问题

BluetoothAdapter.startLeScan() 

扫描结果之前手动要求它停止通过按下一个按钮。

将这样的态度影响的BLE连接时间的时间?

我觉得当蓝牙服务绑定扫描被锁定,连接建立后,畅通,没有任何代码编写。这是正确的吗?

连接时间因时而异。平均需要大约1〜2秒,但有时需要5到6秒甚至更多。为什么会这样呢?

回答

1

将这样的态度影响的BLE连接时间的时间?

有时可能。连接过程是通过发送连接请求启动的,之后该设备进入连接状态。如果在设备进入连接状态之前手动停止扫描,则可能会中断后续连接。

我觉得当蓝牙服务绑定, 和畅通连接建立后,没有任何代码 写扫描受阻。这是正确的吗?

是的。

连接时间变化不时。平均需要大约1〜2秒,但有时大约需要5到6秒甚至更多。 这是为什么会发生?

原因有很多,你可以先考虑的一个主要原因。这是BLE设备的特殊操作模式。他们不是一直活动,而是定期活动。例如,它每10秒激活100ms,并在其他9.9s激活。如果您在BLE设备刚刚进入睡眠状态时开始扫描,那么您需要超过9.9秒。

其次,问题可能是由于您的Android设备。检查它何时发送连接请求,并且有任何其他任务或事件可能会中断连接过程。

第三,是否存在干扰?也许WIFI或USB 3.0。

+0

感谢您的回复。但我仍不能完全理解最后一个。这不是关于扫描,而是建立连接。我不认为我使用的设备从不睡觉。如果我开始扫描,扫描器回调会每隔1秒调用一次。 – March3April4

+0

@ March3April4在连接开始时,您可以使用嗅探器来捕获空中包。基于这些数据包,您可能会发现问题。 –