我有一个非常标准的 iPhone 应用程序,它创建了一系列由 Intents 初始化的大约 7 个独特的 Activity。
但是,如果应用程序在第 7 个 Activity 上崩溃,应用程序将在第 5 个 Activity 左右在用户手机上重新启动。那么问题是从 Activity 1-4 收集的信息为空,这意味着该应用程序无用,让该应用程序再次运行的唯一方法是不断按回或终止进程。
为什么会出现这种行为,有没有办法在应用崩溃时强制从第一个 Activity 开始。
最佳答案
您的应用正在 Activity 堆栈中崩溃 Activity 之外的 Activity 中重新启动。您可以通过调用完成当前 Activity 之外的所有 Activity
this.finish();
开始下一个 Activity 后。
问题是用户现在无法按后退按钮更改之前步骤中插入的数据,因为这些 Activity 已经消失。
在暂停和恢复周期中,您可能会遇到数据持久化的一般性问题。当您正在进行一项更深入的 Activity 时,尝试调用您的模拟器或手机,然后通过长按主页按钮返回到应用程序。您可能会看到以前 Activity 的数据现在也为空。 试一试这种行为,看看 application life cycle documents .
这可能是一种检查数据是否可用以及如果不可用则关闭 Activity 或返回到开始 Activity 的方法。
关于Android Intent Activity 崩溃行为 - 应用程序在应用程序中途重启,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3923243/