为android写一个超时事件

我有一个小问题,我无法弄清楚。 对于我的程序,我基本上想要执行一些代码,如果用户没有对应用程序做任何事情5分钟(说退出)。

我怎么能这样做? 我在检测到用户什么都没做的时候迷路了,然后在用户触摸平板电脑之后重置计数。 有人可以给我一些指示吗?

提前致谢!

因此,如果您在应用程序中使用单个Activity,则可以创建Timer和TimerTask来实现此目的。 并且可以跟踪触摸和关键事件。因此,在您的活动中,您可以执行此类操作。

Timer longTimer; synchronized void setupLongTimeout(long timeout) { if(longTimer != null) { longTimer.cancel(); longTimer = null; } if(longTimer == null) { Timer longTimer = new Timer(); longTimer.schedule(new TimerTask() { public void run() { longTimer.cancel(); longTimer = null; //do your stuff, ie finishing activity etc. } }, 300000 /*delay in milliseconds ie 5 min = 300000 ms or use timeout argument*/); } } @override public boolean onTouchEvent(MotionEvent me) { setupLongTimeout(300000); return super.onTouchEvent(me); } @override public boolean onKeyUp(int keyCode, KeyEvent ke) { setupLongTimeout(300000); return super.onKeyUp(keyCode, ke); } 

如果您正在处理任何视图的任何键/触摸事件,则需要返回false以使事件进入活动。