每次启动或恢复时,Android应用程序/活动是否完全启动?

时间:2010-11-18 21:04:59

标签: java android application-lifecycle onresume

我有一个适用于Android的儿童应用程序,这个应用程序有一些独特的注意事项,因为该应用程序基本上没有导航(它适用于年幼的孩子)。我不想通过添加退出/重启按钮来破坏我的应用UI(在iPhone上已经成功)。

我真正需要的是相当简单 - 我希望我的活动/应用程序每次启动时都能开始干净。无论是初始加载还是其他什么 - 基本上在调用onResume时,我想要一个全新的应用程序实例。

我最初认为我可以在用户离开时退出/退出/完成应用。但我还没有找到一种方法来做到这一点,不会导致崩溃开始。此外,关于这个想法的每一个线程/堆栈溢出都充满了人们摇着手指,说你永远不应该退出Android上的应用程序。

如果我不能退出app onExit,那么每次调用onResume时我都可以做些什么来重启我的活动? (或者那是一个无限循环?)。

非常感谢任何帮助!

3 个答案:

答案 0 :(得分:9)

尝试在onResume中开始您的主要活动,并清除活动堆栈:

public void onResume() {
    super.onResume();
    startActivity(new Intent(this, MainScreen.class).addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY).addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP));
}

也许这些不是要添加的正确标志,但请查看其他Intent标志,这可以做你想要的!

intent flags documentation

答案 1 :(得分:5)

通过在onPause()中调用finish()来使其工作正常。

同样,我很欣赏人们的建议,“这不是Android如何做事”。我对此时的最佳实践有了很好的理解。对于不寻常的用户来说,这是一种不寻常的情况。

答案 2 :(得分:2)

在重新加载时你可以尝试这个..

onStop();
onCreate(getIntent().getExtras());