让我们举一个简单的例子,我有一个呈现HomeActivity的应用程序,这个活动可以导致一个RssListActivity(列出RSS项目),这可以导致第三个ItemDetailActivity,它只是提供了我的详细视图RSS项目。某些通知可能会导致在已定义的文章上打开ItemDetailActivity。
我的观点是,在通知的情况下,恢复正常工作流程,即当用户点击后退按钮时,他将被带到RssListActivity,然后再点击后退按钮即可进入HomeActivity。
当然,我真的不想在每个活动上覆盖自定义的onKeyDown()。
答案 0 :(得分:0)
我认为你不能重新排序活动,最好给用户两种导航方式。用户习惯的Android方式,如果您的应用程序具有需要保留的某种层次结构,您可以在应用程序中使用ActionBar并返回按钮(以分层方式)
另外,我认为执行所需操作的唯一方法是覆盖onKeyDown方法。
答案 1 :(得分:0)
希望我能正确理解你的问题,
你想确保在流程中:
Home > Task1 > Task2
如果调用通知启动“Task1”,那么backstack将如下所示:
Home > Task2 > Task1
您可以通过向调用Task1的Intent添加FLAG_ACTIVITY_REORDER_TO_FRONT来执行此操作。它应该将Activity(如果正在运行)重新排序到Backstack的顶部。