如何检查是否在特定时间限制内收到蓝牙响应?

How to check if a bluetooth response is received within a particular time limit?

我正在开发一个应用程序蓝牙来与设备通信。 我必须向该设备发送一个特定的数据包,并且该设备在一定时间后以通知模式响应我。 一切正常,但我必须检查响应是否在 3 秒内到达我,如果没有及时到达,我必须发送另一个命令而不再等待上一个数据包。

我可以用什么方式在 Android 中实现计时器?

我想过: 1-发送数据包时启动计时器 2- 当响应到达我时停止计时器 或者如果消息是在 3 秒前发送的 计时器触发功能并启用重新发送其他消息

我想用 handler 和 postdelay 来做。

你怎么看?有没有更好的方法来实现这个?

也许是 TimerTask?

您可以使用CountDownTimer 并在向设备发送数据包时启动计时器,并在CountDownTimer 的onFinish() 中检查响应。如果还未收到响应,您可以向设备发送另一个命令,而无需再等待响应。