我有一个在SingleTask模式(Android 2.2)中运行的活动,它接收来自其他活动或服务的意图。我的活动将每个接收到的意图推送到队列中并对其执行某些操作。完成后,如果没有任何意图要处理(即队列为空),则调用finish()。
问题是当它在调用finish()后立即收到一个intent:onNewIntent和onResume方法被调用,但我的活动随后被Android销毁(onPause / onDestroy)并且不处理intent。 p>
我知道这是一个相当顽皮的场景,但我对这种行为感兴趣...所以问题是:是否有可能在finish()之后中断finish()和/或恢复活动被称为?
谢谢!
答案 0 :(得分:1)
听起来您正在尝试重新创建IntentService
答案 1 :(得分:0)
在调用finish()时调用onDestroy()方法,而且你的活动已经死了:)
此活动可以通过某种意图再次启动,但是oncreate将被调用而不是onNewIntent
重要提示是在finish()语句和onDrestroy方法之间无法接收到意图!
因此,如果调用完成后,调用onCreate()
将导致您的活动的每个新意图所以你不要担心
你不应该尝试中断不可能的完成,因为它是原子操作 但是你需要检查逻辑并增强oncreate和onNewIntent方法以优雅地处理你的场景