Android-崩溃后恢复应用程序
我有一个应用程序,如果它被用户关闭并重新启动,它会直接返回到它关闭的活动。 现在我想添加一个功能,这样当应用程序崩溃时,它会清除数据并从第一个活动重新启动应用程序。 我的想法是,我有一个属性“isClosedCorrectly”,一旦应用程序启动,我就将其设置为false。当应用程序正确关闭时,我将其设置为true。 当我启动我的应用程序时,我会查看这个属性,然后根据我想要的做一个动作。Android-崩溃后恢复应用程序,android,Android,我有一个应用程序,如果它被用户关闭并重新启动,它会直接返回到它关闭的活动。 现在我想添加一个功能,这样当应用程序崩溃时,它会清除数据并从第一个活动重新启动应用程序。 我的想法是,我有一个属性“isClosedCorrectly”,一旦应用程序启动,我就将其设置为false。当应用程序正确关闭时,我将其设置为true。 当我启动我的应用程序时,我会查看这个属性,然后根据我想要的做一个动作。 我的问题是:何时isClosedCorrectly设置为TRUE?我能处理这个问题吗?不太清楚“正确关闭”是
我的问题是:何时isClosedCorrectly设置为TRUE?我能处理这个问题吗?不太清楚“正确关闭”是什么意思,但我想你指的是未处理的异常抛出 我想到的是实例化一个UncaughtExceptionHandler的机会
Thread.currentThread().setUncaughtExceptionHandler(
new Thread.UncaughtExceptionHandler() {
@Override
public void uncaughtException(Thread thread, Throwable ex) {
}
);
使用此功能,您可以在发生不好的事情时通知应用程序,这些事情会导致您的应用程序崩溃
我会在这个uncaughtException方法中编写某种“日志”,一个包含简单数据的文件,如“true”或“false”
无论何时打开应用程序,您都可能会阅读文件内容并知道该做什么。没有应用程序级生命周期方法可以告诉您应用程序何时正确“关闭”。其中一个最大的原因是,实际上不存在正确“关闭”应用程序的情况 当用户离开应用程序时,当前正在运行的活动将进入后台并保留在内存中。这样,如果用户决定返回到您的应用程序,他们就不需要等待它再次冷启动 如果你想走这条路,你有几个选择:
- 以对应用程序有意义的方式记录每个活动的
,并使用活动的onStop()
是否被调用的信息来确定它是否已“关闭”onStop()
- 当应用程序开始假定所有不“不正确”的内容都是“正确”时,您的
默认为“true”。然后,当应用程序崩溃时,将isClosedCorrectly
设置为false。您可以使用isClosedCorrectly