Android - 在应用程序级

时间:2015-09-09 10:04:45

标签: android android-activity idle-timer

我想达到什么目标:

用户不活动3分钟后,我想显示一个新活动。

研究:

我确实在Stackoverflow上查找了这个问题,我发现了一些关于如何使用后台线程执行此操作的提示,创建了一个注册最后一次触摸的基本活动等。

问题:

如果我有更多,可以说20个活动,而且我不想从基础活动扩展所有活动。这意味着每次我创建一个新活动时,我都需要扩展这个基础,如果我的活动已经扩展到其他一些基础活动,这可能会造成一些混乱。 我想使用类Application来处理这个,所以活动将保持不变。

如何在不触及已创建的活动的情况下实现此目标?或者,我是否始终必须处理onUserInteraction()onPause()或其他任何活动方法?

研究参考:

Application idle time

Detect when application is idle in android

how to detect user inactivity in android

1 个答案:

答案 0 :(得分:0)

我担心你需要在某个地方收集有关开放活动的信息(可能是某些收藏品)。您可以将此集合存储在Application类中,并为Activities编写一些方法来报告它们的打开和关闭。在Activity close方法中,您可以检查您的集合是否为空,然后在Handler或Timer中打开一些延迟事件(打开新的Activity),在Activity open方法中,您可以使此延迟任务无效。

这是实现目标的一般方法。