我有一个非常标准的iPhone应用程序,它创建了一系列由Intents初始化的7个独特活动。
但是,如果应用程序在第7个活动中崩溃,应用程序将在第5个活动周围的用户电话上重新启动。问题是从活动1-4收集的信息是空的,这意味着应用程序是无用的,让应用程序再次运行的唯一方法是不断按回或者终止进程。
为什么会出现这种情况,并且有一种方法可以强制应用在第一个活动崩溃时重新开始。
答案 0 :(得分:0)
您的应用正在活动中重新启动超出活动堆栈上崩溃活动的活动。您可以通过调用
完成超出当前活动的所有活动this.finish();
开始下一个活动后。
问题是用户现在无法按后退按钮来更改之前步骤中插入的数据,因为这些活动已经消失。
暂停和恢复周期数据持久性可能存在一般问题。当您处于更深层次的活动中时,尝试呼叫您的模拟器或手机,然后通过长按主页按钮返回应用程序。您可能会看到以前活动的数据现在也是空的。 玩弄这种行为并查看application life cycle documents。
这可能是检查数据是否可用以及是否关闭活动或返回开始活动的方法。