我正在寻求实现一项功能,该功能可以在X分钟不活动后注销用户。在对SO进行类似的回答后,建议的方法似乎是-

  • 在后台运行计时器。安排它在x分钟后超时。
  • 在用户与应用程序交互的每个函数(基本上是所有事件处理程序)中,调用一个方法来重置计时器。

  • 我自己想到的都比这更好,但是即使对于具有6-7个不同屏幕和一堆UI组件的中型应用程序,这似乎也是一个巨大的痛苦。有没有更好的方法来解决这个问题?

    谢谢,
    特雅

    最佳答案

    在后台运行计时器。安排它在x分钟后超时。

    不,是的。如果要在 Service IntentService 中实现它,请使用计时器。否则,请不要。

    在用户与应用程序交互的每个函数中(基本上是所有事件处理程序),调用一个方法来重置计时器。

    该解决方案将难以维护。

    您应该在后台运行一个IntentService(演示文章here),该代码可以轻松实现 TimerTask Handler 并使其内部的可运行代码向您的活动广播。在您的活动中,您可以轻松添加 BroadcastReciever ,在这种情况下,如果时间有限,您可以注销用户。当您的应用程序对用户不可见时,您可以启动服务。

    08-18 01:21