我想,我有一个通用的逻辑问题。如果没有活动,我想在15之后注销用户。如何在android中找到任何“活动”。我应该怎么做......
专家请帮忙......
答案 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()的父活动继承所有活动。在该回调中,您应该重置一个静态应用程序范围的计时器,该计时器将在时间到达时执行您的注销代码。