【问题标题】:Android - Get idle time on Application levelAndroid - 在应用程序级别获取空闲时间
【发布时间】:2015-09-09 10:04:45
【问题描述】:

我想达到什么目标:

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

研究:

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

问题:

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

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

研究参考:

Application idle time

Detect when application is idle in android

how to detect user inactivity in android

【问题讨论】:

    标签: android android-activity idle-timer


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-09
      • 1970-01-01
      • 2012-10-28
      • 2011-09-23
      相关资源
      最近更新 更多