6

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

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

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

如果我无法退出应用程序 onExit,是否可以在每次调用 onResume 时重新启动我的活动?(或者那会是一个无限循环吗?)。

非常感谢任何帮助!

4

3 回答 3

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标志,这可以满足您的要求!

意图标志文档

于 2010-11-18T21:23:34.617 回答
5

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

再次,我感谢人们说“这不是 Android 做事的方式”的建议。在这一点上,我对最佳实践有了很好的理解。对于不寻常类型的用户来说,这是不寻常的情况。

于 2010-12-06T21:13:49.330 回答
2

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

onStop();
onCreate(getIntent().getExtras());
于 2010-11-18T21:10:57.263 回答