Android活动经理

时间:2011-10-12 17:21:32

标签: android

我想,我有一个通用的逻辑问题。如果没有活动,我想在15之后注销用户。如何在android中找到任何“活动”。我应该怎么做......

专家请帮忙......

2 个答案:

答案 0 :(得分:2)

您需要仔细考虑一下您的要求是什么,但据我所知,您希望跟踪用户交互,如果自上次交互后时间限制到期,请执行一些操作,在您的情况下,将它们从您的应用程序中记录下来。

首先,您需要一些可以在最后一次互动时跟踪的地方,因为您希望这个地方适用于整个应用范围,您可以使用singleton来保存此内容,或override the Application上课,无论哪种方式都应该做。

接下来,您需要开始跟踪用户互动。从您的活动中,您可以覆盖onUserInteraction方法,只要用户与应用程序交互(例如键事件),就会调用此方法。每次你点击这个方法,更新你的单身人士,让它知道发生了什么事,带有时间戳。

最后,您需要进行某种循环检查以不断检查最近是否发生过任何事情。不同的是这样做,你可以有一个连续循环,将当前时间戳与最后记录的事件进行比较,一些草案代码:

while(true)
{
   if (timeLastEventRecorded < (now - 15))
   {
      //nothing has happened in 15 minutes, so take corrective action
   }
}

据推测,您的应用程序中已经有一些代码可以处理注销,例如当用户点击“注销”时,您应该能够在上面的示例中调用它。

希望这有帮助

答案 1 :(得分:1)

您应该从覆盖onUserInteraction()的父活动继承所有活动。在该回调中,您应该重置一个静态应用程序范围的计时器,该计时器将在时间到达时执行您的注销代码。