【发布时间】:2013-05-03 00:46:10
【问题描述】:
我的理解是,如果一个 singleTask 活动已经存在,则不会再次创建它,但会调用它的 onNewIntent。
事实上,当我从另一个 Activity 而不是从服务启动 Intent 时,就会发生这种情况。
此外,我注意到如果我将我的 Activity 声明为 singleInstance(即在这种情况下,即使从服务 onNewIntent 确实被调用),这不会发生,但它也涉及我不想要的回栈复杂性。
我不明白的是,如果我有一个正在运行的 singleTask Activity 的实例,它总是会调用 onNewIntent,并且它确实从 Activity 但不是服务以这种方式工作。
为什么会这样,我应该怎么做才能保持我的后栈完好无损,只是将我现有的活动从我的服务中移到顶部?
注意:当我调用 singleTask Activity 时,我确实有 FLAG_ACTIVITY_NEW_TASK。
谢谢!
【问题讨论】:
标签: android android-intent android-activity android-service android-lifecycle