【发布时间】:2012-12-13 17:58:30
【问题描述】:
我真正想要的是什么?
在我的应用程序中,我有 4/5 个活动和一个与服务器对话的后台线程。我想有一些方法来获得我的应用程序的最高活动。但令人惊讶的是,他们不是我能得到的吗?
我做了什么?
搜索了一段时间后,我实现了一个类型为Activity 的变量mCurrentOnTopActivity,并在我设置该变量的每个活动的onResume() 和onPause() 上。 (这实际上是一种糟糕的方式)。
我到达了哪里?
现在他们的情况是,在收到来自服务器的一些消息后,我想在 UI 线程上做一些事情,即显示一些对话框或刷新 ListView,现在他们无法检查 mCurrentOnTopActivity 是否引用活动它实际上是否正在运行(无论出于何种原因已完成或失焦)。
我现在想要什么? 现在我基本上需要以下两个问题的帮助:-
- 我如何知道我的应用程序当前运行最多的活动是什么?
- 我如何知道活动是否仍在运行(即我想要像
isActicitAlive() (imaginary function)这样的东西,它在onResume()和onPause()的调用之间返回 true ?
我在活动中使用变量实现了 2 点,并将其设置为 onResume() 和 onPause()。但是,这是唯一的方法吗?
【问题讨论】: