1

举个简单的例子,我有一个应用程序,它显示一个 HomeActivity,这个活动可以导致一个 RssListActivity(列出 RSS 项目),它可以导致第三个 ItemDetailActivity,它只是提供我的 RSS 项目的详细视图。某些通知可能会导致在定义的文章上打开 ItemDetailActivity。

我的观点是,在通知的情况下,要恢复正常的工作流程,即当用户单击后退按钮时,他会被带到 RssListActivity,而再次单击后退按钮会被带到 HomeActivity。

当然,我真的不想在这些活动中的每一个上覆盖自定义 onKeyDown() 。

4

2 回答 2

0

我认为你不能对活动进行重新排序,最好给用户两种导航方式。用户习惯的 Android 方式,如果您的应用程序具有某种需要保留的层次结构,您可以在应用程序中使用带有返回按钮的 ActionBar(以分层方式)

另外,我认为做你想做的唯一方法是覆盖 onKeyDown 方法。

于 2011-11-14T21:25:36.137 回答
0

希望我正确理解了你的问题,

您要确保在流程中:

Home > Task1 > Task2

如果调用通知来启动“Task1”,那么 backstack 将如下所示:

Home > Task2 > Task1

您可以通过将FLAG_ACTIVITY_REORDER_TO_FRONT添加到调用 Task1 的 Intent 来实现。它应该将 Activity(如果正在运行)重新排序到 Backstack 的顶部。

于 2011-11-15T09:54:15.443 回答