我的问题可能是一个常见的要求。不幸的是,在任何地方都没有找到适当的指南。在软件中实现超时
我需要在Java中设置软件超时。在我的设置中,我有一个连接到Android设备的鼠标。
基本上我的Android应用程序有两种模式:ENGAGED和DISENGAGED。
默认情况下,应用程序驻留在DISENGAGED模式下。
该应用程序显示了ENGAGED和DISENGAGED模式下的不同屏幕,该模式根据模式自动进行控制。
现在进入ENGAGED模式,用户需要执行鼠标左键单击。只要用户使用鼠标,应用程序就会保持工作状态。如果用户在30秒内没有使用鼠标,APP会返回到DISENGAGED模式。
在软件中,我接收用户执行的每次触摸的事件,显然,自上次触摸以来30秒过去后,我没有收到任何事件。因此,我需要一个合适的解决方案来回到脱离模式。
如何在软件中实现这一点?代码流的基本大纲应该就足够了,不必是精确的工作代码。我使用的信号量,任务,mutexs等舒适
谢谢。顺便说一句,如果没有中断和任务进入睡眠状态,我可以直接调用'sleepThread.start()'来重新初始化定时器,还是需要执行'Thread sleepThread = new Thread(new CustomRunnable())'部分再次? – vishal
对。这个更正是必要的。 – vishal
我被困在一点。如果线程在正确超时后退出,我无法通过发出'sleepThread.start()'来重用它。这会发出“线程已激活”错误。你知道这个解决方案吗? – vishal