如何检查是否在特定时间限制内收到蓝牙响应?
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() 中检查响应。如果还未收到响应,您可以向设备发送另一个命令,而无需再等待响应。
我正在开发一个应用程序蓝牙来与设备通信。 我必须向该设备发送一个特定的数据包,并且该设备在一定时间后以通知模式响应我。 一切正常,但我必须检查响应是否在 3 秒内到达我,如果没有及时到达,我必须发送另一个命令而不再等待上一个数据包。
我可以用什么方式在 Android 中实现计时器?
我想过: 1-发送数据包时启动计时器 2- 当响应到达我时停止计时器 或者如果消息是在 3 秒前发送的 计时器触发功能并启用重新发送其他消息
我想用 handler 和 postdelay 来做。
你怎么看?有没有更好的方法来实现这个?
也许是 TimerTask?
您可以使用CountDownTimer 并在向设备发送数据包时启动计时器,并在CountDownTimer 的onFinish() 中检查响应。如果还未收到响应,您可以向设备发送另一个命令,而无需再等待响应。