如何知道某种类型X的最后一项活动是否已关闭?

时间:2011-03-16 13:21:46

标签: android

我希望在某些类型X的所有活动都关闭时运行一些操作。第一个想法是有一些全局计数器,每次活动X关闭时递减,一旦计数器为0,运行一些操作。假设可以杀死进程,则必须保留计数器。但还有一个问题 - 假设活动X可能崩溃(由于代码中的一些错误),在这种情况下我不会减少计数器。

知道如何以健壮的方式实现它吗?

2 个答案:

答案 0 :(得分:0)

我不确定'封闭'是什么意思,但你应该能够使用Activity Lifecycle回调来完成你的要求。

下一页上有一个图表,显示了如何实现Activity Lifecycle: http://developer.android.com/reference/android/app/Activity.html

答案 1 :(得分:0)

如你所说,你可以有一个全球反击。

也许它的好地方在于Application类?

或者你只需​​将计数器保存在一个文件中,并在每次启动应用程序时重置它(在第一次活动中)。

您也可以尝试将其保存在共享偏好设置中。

但崩溃仍然存在问题。我只是个主意。有用于崩溃记录的ACRA库。看看它,它们如何捕捉崩溃。

所以你可以写一个递减计数器的方法。并从onDestroy()或发生崩溃时调用它。