Android 当应用程序失去焦点时销毁活动

Android 当应用程序失去焦点时销毁活动,android,android-activity,android-lifecycle,Android,Android Activity,Android Lifecycle,我有一个Android应用程序,我面临一个奇怪的问题。我有一个活动,在onStop()方法中我调用finish(),如下所示: 问题是,当我按下导航栏中的圆形按钮关闭活动,然后从导航栏中的“最近使用的应用程序”选项卡重新打开应用程序时,活动就会重新创建。这意味着调用onCreate()方法。相反,我想要的是打开MainActivity 我做错了什么?你应该可以通过添加 android:noHistory="true" 到清单中的声明 在这种情况下,您不需要在onStop()中向finish()

我有一个Android应用程序,我面临一个奇怪的问题。我有一个活动,在onStop()方法中我调用finish(),如下所示:

问题是,当我按下导航栏中的圆形按钮关闭活动,然后从导航栏中的“最近使用的应用程序”选项卡重新打开应用程序时,活动就会重新创建。这意味着调用onCreate()方法。相反,我想要的是打开MainActivity


我做错了什么?

你应该可以通过添加

android:noHistory="true"
到清单中的
声明

在这种情况下,您不需要在
onStop()
中向
finish()
添加all


我假设您的应用程序只有一个
活动

,这是因为您的活动位于任务管理器之上。顺便说一句,在onStop()方法中完成活动是一种反模式。难道你找不到另一种可能的方式吗?那是你想要的行为。请在您的问题中明确说明-“在
onStop()
中调用
finish()
的目的是什么?”@GV_FiQst是否有其他解决方案可以实现我的目标?这意味着,当应用程序失去焦点,然后再次获得焦点时,MainActivity将被打开。我是否应该在onStop()中启动MainActivity?请向我们提供有关问题的更多详细信息以进行研究。谢谢您的回答。我已将此标志设置为我的活动,但它不会更改行为。我的应用程序有很多活动,不仅仅是这个。也许我有点不清楚。我的应用程序有一个主活动和其他活动。当用户打开一个特定的活动,然后切换到另一个应用程序,然后返回到该应用程序时,我不希望再显示此活动,而是希望显示主活动。此特殊的
活动是否由
MainActivity
启动?或者在
main活动
和此特殊
活动
之间的堆栈中是否存在其他活动?此特殊活动可以由main活动启动,但也存在其他活动可以介于两者之间的情况。也许不必从此特殊活动切换到main活动,还可以切换整个堆栈跟踪此特殊活动暂停时可能会被擦除。如果设置了
noHistory=“true”
,则无论用户何时离开该
活动,该
活动都应消失。无论如何都不应该重新创建它。请进行更改,将您的清单添加到您的问题中,并检查这是否有帮助。如果没有,请确切地解释你看到了什么。
android:noHistory="true"