我一直在学习Android,遇到了一个与launchMode="singleTask"相关的问题。文档中指出,当使用此属性时,Activity始终会作为根Activity启动到新任务中。其次,文档中还指出,如果有其他Activity在它的任务堆栈上方时,针对这样的Activity的Intent将被丢弃(尽管任务仍将被带到前台)。
我已经尝试过这个功能,观察到的行为完全不同。具体来说: - launchMode="singleTask"的Activity并不总是任务堆栈中的根Activity。它们只是放置在具有相同亲和性的现有堆栈顶部。 - 当针对这样的Activity定向Intent时,如果堆栈中存在其他Activity,则不会丢弃Intent。相反,堆栈上方的Activity将被丢弃。然后,Intent将像往常一样通过onNewIntent传递给Activity。
可以有人确认这是实际的行为吗?如果是这样,为什么文档是错误的?如果不是,那我做错了什么. . .
编辑: 可以在这里找到演示此行为的示例: http://groups.google.co.uk/group/android-developers/browse_thread/thread/fd8f249803b4688a# 很抱歉跨帖,但我无法获得一个适合在这里发布的示例格式...
我已经尝试过这个功能,观察到的行为完全不同。具体来说: - launchMode="singleTask"的Activity并不总是任务堆栈中的根Activity。它们只是放置在具有相同亲和性的现有堆栈顶部。 - 当针对这样的Activity定向Intent时,如果堆栈中存在其他Activity,则不会丢弃Intent。相反,堆栈上方的Activity将被丢弃。然后,Intent将像往常一样通过onNewIntent传递给Activity。
可以有人确认这是实际的行为吗?如果是这样,为什么文档是错误的?如果不是,那我做错了什么. . .
编辑: 可以在这里找到演示此行为的示例: http://groups.google.co.uk/group/android-developers/browse_thread/thread/fd8f249803b4688a# 很抱歉跨帖,但我无法获得一个适合在这里发布的示例格式...