Android X分钟后自动注销

Tej*_*udi 7 java android timeout

我希望实现一个在X分钟不活动后注销用户的功能.在对SO进行类似的回答后,建议的方法似乎是 -

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

我自己想不出比这更好的东西,但即使对于具有6-7个不同屏幕和一大堆UI组件的中型应用程序来说,它似乎也是一个巨大的痛苦.有没有更好的方法来处理这个?

谢谢,
Teja.

Ume*_*mek 5

您可以使用CountDownTimer和重新启动它onUserInteraction()在每一个Activity()


Wro*_*lai 2

有一个计时器在后台运行。将其安排在 x 分钟后超时。

不,又是。Service如果您在 a或 中实现计时器,请使用计时器IntentService。否则,不要。

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

该解决方案将很难维护。

您应该在后台运行一个(此处IntentService为演示文章),它可以轻松实现 a或 a并使其中的可运行代码向您的活动触发广播。在您的活动中,您可以轻松添加一个,在这种情况下,如果时间到了,您可以注销用户。当您的应用程序对用户不可见时,您可以启动服务。TimerTaskHandlerBroadcastReciever