是否可以中断完成()

时间:2011-09-15 16:43:45

标签: android android-activity activity-finish

我有一个在SingleTask模式(Android 2.2)中运行的活动,它接收来自其他活动或服务的意图。我的活动将每个接收到的意图推送到队列中并对其执行某些操作。完成后,如果没有任何意图要处理(即队列为空),则调用finish()。

问题是当它在调用finish()后立即收到一个intent:onNewIntent和onResume方法被调用,但我的活动随后被Android销毁(onPause / onDestroy)并且不处理intent。 p>

我知道这是一个相当顽皮的场景,但我对这种行为感兴趣...所以问题是:是否有可能在finish()之后中断finish()和/或恢复活动被称为?

谢谢!

2 个答案:

答案 0 :(得分:1)

听起来您正在尝试重新创建IntentService

答案 1 :(得分:0)

在调用finish()时调用onDestroy()方法,而且你的活动已经死了:)

此活动可以通过某种意图再次启动,但是oncreate将被调用而不是onNewIntent

重要提示是在finish()语句和onDrestroy方法之间无法接收到意图!

因此,如果调用完成后,调用onCreate()

将导致您的活动的每个新意图

所以你不要担心

你不应该尝试中断不可能的完成,因为它是原子操作 但是你需要检查逻辑并增强oncreate和onNewIntent方法以优雅地处理你的场景