Android:从应用程序安装程序启动应用程序将导致多个实例?

Android:从应用程序安装程序启动应用程序将导致多个实例?,android,installation,instances,Android,Installation,Instances,1.从应用程序安装程序安装apk 2.然后单击“打开”立即启动 3.应用程序启动后,按HOME键 4.从应用程序列表中找到应用程序,然后单击其图标再次启动 5.然后应用程序将与新实例一起启动。 如果你重复3~5次,它会重复创建一个新实例。如果您现在按“后退”键,您将看到应用程序在您启动的同一时间仍然存在 但如果您只需在第2步单击“完成”,然后从应用程序列表启动应用程序,那么一切都将正常。 为什么?应用程序安装程序(以及许多Android IDE)使用与常规应用程序启动器不同的意图标志,这意味着启

1.从应用程序安装程序安装apk 2.然后单击“打开”立即启动 3.应用程序启动后,按HOME键 4.从应用程序列表中找到应用程序,然后单击其图标再次启动 5.然后应用程序将与新实例一起启动。 如果你重复3~5次,它会重复创建一个新实例。如果您现在按“后退”键,您将看到应用程序在您启动的同一时间仍然存在

但如果您只需在第2步单击“完成”,然后从应用程序列表启动应用程序,那么一切都将正常。 为什么?

应用程序安装程序(以及许多Android IDE)使用与常规应用程序启动器不同的意图标志,这意味着启动器的意图与活动的现有意图不匹配,最终在堆栈顶部创建新活动

我认为这个问题与你所问的类似:


这个解决方案对我很有效。它检查应用程序是否以这种方式启动,然后完成活动。这将使本应启动的活动离开,并将其带到最前面

private void checkifactivityshouldbeffinished(){
如果((getIntent().getFlags()&Intent.FLAG_活动_带_到_前面)!=0){
//活动被带到了前台,而不是创建,
//因此,完成此操作将使我们进入最后查看的活动
完成();
返回;
}  
}