我究竟想要什么?Android活动生命周期问题
在我的应用程序中,我有4/5活动和一个后台线程与服务器交谈。我想有一些方法来获得我应用程序的最顶级活动。但令人惊讶的是,他们是我无法得到的?
我做了什么?
搜索一段时间后,我实现了Activity
类型的变量mCurrentOnTopActivity
和onResume()
和我设置变量中的每个活动的onPause()
。 (这实际上是一个不好的方法)。
我到达了哪里?
现在,他们都在从服务器接收的一些消息后,我想要做的UI线程一些东西,即表现出一定的对话框或刷新ListView
案件,现在他们是没有办法检查是否mCurrentOnTopActivity
指的activiy这是实际运行或不运行(无论出于何种原因完成或失去焦点)。
我现在想要什么? 现在我基本上要帮助以下两个问题: -
- 我怎么知道这是我的应用程序的当前运行的最上面的活动?
- 我怎么知道活动是否仍在运行与否(即我想要一些东西一样
isActicitAlive() (imaginary function)
其中onResume()
电话和onPause()
?
我使用活动的变量,并设置它实现2点之间返回true在onResume()
和onPause()
,但是,这是做到这一点的唯一途径?
我目前正在使用你的答案的第二种方法。让我检查你的第一种方法的效率观点。现在查询ActivityManager并不会听起来很有效率,至少对我来说......任何方式都要感谢您的答案。 – aProgrammer
我结束了一些修改后实现了你的建议。谢谢! – aProgrammer
@Amit: - :)哪一个。?第一或第二种方法。 –