Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/211.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 重新打开应用程序,不显示以前的活动_Java_Android_Activity Finish - Fatal编程技术网

Java 重新打开应用程序,不显示以前的活动

Java 重新打开应用程序,不显示以前的活动,java,android,activity-finish,Java,Android,Activity Finish,我现在面临一个问题。当我退出应用程序并再次打开时,它会向我显示以前的活动。有没有办法在重新打开应用程序后启动MainActivity?我试过使用,但没有用: SecondActivity.this.finish(); Intent intent = new Intent (SecondActivity.this, MainActivity.class); startActivity(intent); 及 请帮帮我谢谢你 使用以下命令: Intent intent = new Intent (S

我现在面临一个问题。当我退出应用程序并再次打开时,它会向我显示以前的活动。有没有办法在重新打开应用程序后启动MainActivity?我试过使用,但没有用:

SecondActivity.this.finish();
Intent intent = new Intent (SecondActivity.this, MainActivity.class);
startActivity(intent);

请帮帮我谢谢你

使用以下命令:

Intent intent = new Intent (SecondActivity.this, MainActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
startActivity(intent);
finish();
看这里

如果要调用
finish()
,则应在调用
startActivity
后执行。如果在任何生命周期回调中执行此操作,则可以在不同时刻调用,而不仅仅是在导航到其他活动时

noHistory
的好处在于系统负责在正确的时刻完成活动(正如您所看到的,系统实际上会为您调用finish()方法),因此您可以确保您没有在不好的时刻调用它,并且一切都是安全的(也许这现在看起来并不重要,但可能很重要,例如在处理线程时)

另外,请尝试阅读有关
空进程的内容

不包含任何活动应用程序组件的进程 保持这种进程活动的唯一原因是缓存 目的:提高组件下次需要启动时的启动时间 在it中运行。系统通常会终止这些进程以平衡 进程缓存和基础缓存之间的总体系统资源 内核缓存

空进程是不包含任何活动应用程序的进程 组件。保持这样一个流程的唯一原因是 缓存以提高组件下次启动时的启动时间 应用程序需要运行。因此,系统通常会终止这些 进程,以平衡这些进程之间的总体系统资源 清空缓存进程和底层内核缓存


请阅读此处

您面临此问题的活动。请用flow进行解释,以帮助您更好地了解。此外,
noHistory
是关于哪些活动。我正在开发一个时间扩展应用程序。因此,基本上用户必须填写扩展活动(SecondActivity)中的字段,填充后,它会将用户重定向到Mainactivity。我通过Mainactivity.this.finish();System.exit(0);,退出了应用程序。但是,当我重新打开应用程序(我没有杀死应用程序)时,它会显示扩展页(SecondActivity)。按理说,当我重新打开时,它会显示我的Mainactivity而不是SecondActivity。
Intent intent = new Intent (SecondActivity.this, MainActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
startActivity(intent);
finish();