【发布时间】:2011-04-27 13:32:20
【问题描述】:
我有一个小部件,点击时可以弹出小对话框。这些对话框由 singleInstance launchMode 中名为 RemoteActivity 的活动显示。在其中一个对话框中,有一个用于启动主应用 MainActivity 的按钮,它具有标准的启动模式。
但是,当单击此按钮并调用 startActivity() 时,MainActivity 不会启动,尽管我可以在 logcat 中看到相应的“Starting Activity:Intent { ... }”。
如果我将 RemoteActivity 的 launchMode 设置为标准,则会启动 MainActivity,但这不是我想要的,RemoteActivity 只是小部件的扩展,我不希望它与任何其他活动堆叠。
我也尝试过使用 FLAG_ACTIVITY_NEW_TASK,但没有帮助,而且无论如何都不需要according to the docs:
一个“singleInstance”活动,在 另一方面,不允许其他 活动成为其任务的一部分。 这是任务中的唯一活动。如果 它开始了另一项活动,即 活动被分配给不同的 任务——好像 FLAG_ACTIVITY_NEW_TASK 是有目的的。
如何启动我的主要活动?
更新/勘误:
MainActivity 实际启动,但前提是它还不是任务的一部分。如果我通过启动器正常启动 MainActivity,然后按 Back 退出,那么 RemoteActivity 确实会启动 MainActivity。
但是,如果我没有按返回,而是按 Home 离开 MainActivity,那么 RemoteActivity 无法启动 MainActivity,尽管意图出现在 logcat 中。
我正在 Froyo 上对此进行测试。
知道发生了什么吗?
【问题讨论】:
标签: android android-activity launchmode