我想要实现什么:
在用户不活动3分钟后,我想显示一个新的活动
研究:
我确实在Stackoverflow上看到了这个问题,我发现了一些关于如何使用后台线程,创建一个注册最后触摸的基本活动等的提示。
问题:
如果我有超过,假设20个活动,我不想从一个基本活动扩展所有的活动。这意味着每次我创建一个新活动时,我都需要扩展这个基础活动,如果我的活动已经从其他基础活动扩展,这可能会造成一些混乱。我想使用类Application来处理这个问题,所以活动将保持不变。
如何在不触及已经创建的活动的情况下实现这一点?或者我总是必须处理onUserInteraction()
,或onPause()
,或活动上的任何其他方法?
研究引用:
应用程序空闲时间
检测android中的应用程序是否空闲
如何检测android中的用户不活动
恐怕你需要在某个地方收集有关开放活动的信息(可能是一些集合)。您可以将此集合存储在Application类中,并为Activities编写一些方法来报告它们的打开和关闭。在Activity close方法中,你可以检查你的集合是否为空,然后在Handler或Timer(打开新Activity)中触发一些延迟的事件,在Activity open方法中,你可以使这个延迟的任务无效。