我希望实现一个功能,在X分钟的不活动之后将用户注销。经过类似的回答后,建议的方法似乎是-
我自己想不出比这更好的东西了,但即使对于一个拥有6-7个不同屏幕和大量UI组件的中型应用程序来说,这似乎也是一个巨大的痛苦。有更好的方法来处理这件事吗?
谢谢,
提亚。
发布于 2011-04-18 15:58:09
让计时器在后台运行。把它安排在x分钟后超时。
不和是的。如果您要在Service
或IntentService
中实现它,请使用计时器。否则,不要。
在用户与应用程序交互的每个函数中(基本上都是事件处理程序),调用一个重置计时器的方法。
这种解决办法很难维持。
您应该在后台运行一个IntentService
(演示文章这里),它可以轻松地实现TimerTask
或Handler
,并使其中的可运行代码触发对您的活动的广播。在您的活动中,您可以轻松地添加一个BroadcastReciever
,在这种情况下,如果时间不够,您可以注销用户。当应用程序对用户不可见时,您可以启动服务。
发布于 2012-05-28 18:36:18
您可以使用CountDownTimer
并在每个Activity()
中从onUserInteraction()
重新启动它。
发布于 2011-04-18 15:48:15
我就是这样做的:
1)创建一个全局变量来表示时间日志
2)在每个活动的onStop调用期间,用当前时间更新全局变量。
3)在对每个活动进行onResume调用期间,将当前时间与全局变量时间进行比较,以查看已经过去了多少时间
https://stackoverflow.com/questions/5705216
复制相似问题