按下Home键时活动重新启动问题

时间:2016-05-28 03:13:22

标签: android

我的情景:

  • 我有3项活动。来自活动2 - 活动3 ...在活动3上我按下主页

  • 然后从Filemanager应用程序,我有一个我需要导入的zip文件。单击zip文件时,我的应用程序将启动并导入活动1中的设备列表。

  • 然后我转到活动2 - 活动3。

  • 从活动3开始,按后退键。它将我带到Activity 2.我再次按回键(它应该从活动2退出我的应用程序)。但是它又把我带到了活动3。从那里开始,当按下后退键时,我被卡住了。

我认为,因为我第一次按Home键。活动3在后面。然后,当我从另一个应用程序启动应用程序..我认为已经创建了2个实例。

我真的不知道如何解决这个问题。

我希望后退键功能为:

活动3 - 后退键 - 活动2 - 后退键 - 退出应用

2 个答案:

答案 0 :(得分:0)

将启动模式用作活动3的FLAG_ACTIVITY_SINGLE_TOP

检查此doc

答案 1 :(得分:0)

  

我认为,因为我第一次按Home键。活动3是   在后面。然后,当我从另一个应用程序启动应用程序..我想   已经创建了2个实例。

您是对的,默认情况下Android如果您没有为activity设置任何标记,则可以为multiple instances创建activity。在您的情况下,您有多个instances activity 2和3。

为达到你想要的效果,我建议如下。

当您致电activity 1, start时,从activity 2开始,尝试在intent下面添加以下代码行,以清除backstack activity }。

intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);