2012-01-06 117 views
7

我想查看一个活动是否正在运行或完成。有什么方法可以检查活动状态吗?如何知道活动已完成?

我发现activity.isFinishing(),但我不知道这件事。

+0

你可以说你想在你的项目做,所以我可以得到一些明确的想法,以解决您的查询.. – 2012-01-06 11:13:46

+0

跑步可以采取形式的所有问题到底是什么,所以我建议最好在这里知道你的目的。 – njzk2 2012-01-06 11:14:36

+0

有些时候我们会得到窗口标记错误,因为在调用对话框之前,活动完成并且对话框仍然被调用,所以我想检查活动是否正在运行。 – 2012-01-09 05:08:34

回答

11

如果你想Activity之前执行的任何步骤将变得不可见。

他们在这里有几个选择。

onDestroy() - 进行最后的清理工作。

isFinishing() - act.finish()被称为它将返回true之后。

onStop() - 当Activity由框架进程杀死。 (不破坏)

onPause() - 当Activity被任何其他Activity

onBackPressed()覆盖 - 捕获硬件返回由用户触发键的事件。

+6

还有'isDestoyed()'(在API 17中添加)http://developer.android.com/reference/android/app/Activity.html#isDestroyed%28%29 – 2015-09-05 07:46:28

+0

是的,它是后来发布的,所以这是为什么它不包含在答案中。感谢提及。 – 2015-09-05 10:33:18