我正在寻求实现一项功能,该功能可以在X分钟不活动后注销用户。在对SO进行类似的回答后,建议的方法似乎是-
我自己想到的都比这更好,但是即使对于具有6-7个不同屏幕和一堆UI组件的中型应用程序,这似乎也是一个巨大的痛苦。有没有更好的方法来解决这个问题?
谢谢,
特雅
最佳答案
在后台运行计时器。安排它在x分钟后超时。
不,是的。如果要在 Service
或 IntentService
中实现它,请使用计时器。否则,请不要。
在用户与应用程序交互的每个函数中(基本上是所有事件处理程序),调用一个方法来重置计时器。
该解决方案将难以维护。
您应该在后台运行一个IntentService
(演示文章here),该代码可以轻松实现 TimerTask
或 Handler
并使其内部的可运行代码向您的活动广播。在您的活动中,您可以轻松添加 BroadcastReciever
,在这种情况下,如果时间有限,您可以注销用户。当您的应用程序对用户不可见时,您可以启动服务。