2

我想达到什么目标:

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

研究:

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

问题:

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

我怎样才能在不触及已经创建的活动的情况下实现这一点?还是我总是必须处理onUserInteraction(), 或onPause(), 或 Activity 上的任何其他方法?

研究参考:

应用程序空闲时间

检测应用程序何时在android中空闲

如何在android中检测用户不活动

4

1 回答 1

0

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

这是实现目标的非常通用的方法。

于 2015-09-09T10:09:40.490 回答