当前位置: 首页 > 知识库问答 >
问题:

Android-在应用程序级别获得空闲时间

袁奇文
2023-03-14

我想实现什么:

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

研究:

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

问题:

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

如何在不触及已创建的活动的情况下实现此目标?或者我总是必须处理<code>onUserInteraction()</code>、<code>on Pause()</code>或Activity上的任何其他方法?

研究参考:

应用程序空闲时间

在android中检测应用程序处于空闲状态

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

共有1个答案

姜乐家
2023-03-14

恐怕你需要在某个地方收集有关开放活动的信息(也许是一些集合)。可以将此集合存储在应用程序类中,并为 Activity 编写一些方法来报告其打开和关闭。在活动关闭方法中,您可以检查集合是否为空,然后在处理程序或计时器(打开新活动)中触发一些延迟事件,在活动打开方法中,您可以使此延迟任务无效。

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

 类似资料:
  • 我正在开发一个将在Kiosk模式下运行的应用程序。在这个应用程序中,如果用户在5分钟内没有在应用程序中做任何事情,应用程序将显示一个屏幕保护程序,这是应用程序的徽标。 我的问题是,如何在5分钟内检测到空闲代码?

  • 我如何“强制”Espresso执行一个动作(单击取消),即使应用程序没有空闲?

  • 我不清楚的概念 Java Thread 在进入实例同步 java 方法时获取对象级锁,在进入静态同步 Java 方法时获取类级锁。 当它表示对象级锁定和类级锁定时,它意味着什么? 例如: 这里的getCount()将锁定Counter.class对象,而setCount()将锁定当前对象(this)。这是什么意思?这是否意味着当getCount()被调用时,另一个线程不能访问setCount(),

  • 我是android开发的新手。我有个简单的问题。如果该方法是在API LEVEL 26中引入的,那么它是否可以在Android7操作系统的设备上运行?

  • 问题内容: 我已经用Java编写了一个应用程序,并且想添加一个功能来报告该应用程序的正常运行时间。JVM中是否有可以执行此操作的类/方法? 我应该在应用程序启动时保存时间戳,然后在请求时计算与当前正常运行时间的差额吗? 用Java检索应用程序正常运行时间的更好方法是什么? 问题答案: 您可以使用RuntimeMXBean.getUptime()

  • 我已经将我的应用程序升级到了API 26,我面临着一些新的后台执行限制问题。 在Oreo设备上,只要我的应用程序进入后台,我的应用程序就会因日志中写入的空闲状态而被操作系统停止: 然后,我尝试再次启动我的应用程序,最后一个活动被正确还原(包括其片段和所有显示的数据) 问题是我的服务没有重新启动。 它们都在onstart命令中返回START_STICKY,该命令应该告诉操作系统,服务在被终止后应该重