Android 如何检测崩溃后重建与正常活动破坏后重建

Android 如何检测崩溃后重建与正常活动破坏后重建,android,android-activity,android-lifecycle,Android,Android Activity,Android Lifecycle,是否可以区分以下各项: A.被操作系统销毁后,正在重新创建活动。例如,如果设备启用了“不保留活动”,并且用户将我的应用发送到后台,然后将其再次带到前台 B.应用程序崩溃后正在重新创建活动。我认为没有这样的方法,但我不认为在活动崩溃时会调用onStop或OnDestroy,但不是100%确定 如果没有,则在onStop或onDestroy中设置一个共享首选项,即正确关闭,该选项设置为true 然后,当活动打开时,检查共享首选项是否正确关闭运行正常代码,并将共享首选项设置为false。如果检查时共享

是否可以区分以下各项:

A.被操作系统销毁后,正在重新创建活动。例如,如果设备启用了“不保留活动”,并且用户将我的应用发送到后台,然后将其再次带到前台


B.应用程序崩溃后正在重新创建活动。

我认为没有这样的方法,但我不认为在活动崩溃时会调用onStop或OnDestroy,但不是100%确定

如果没有,则在onStop或onDestroy中设置一个共享首选项,即
正确关闭
,该选项设置为true

然后,当活动打开时,检查共享首选项
是否正确关闭
运行正常代码,并将共享首选项设置为false。如果检查时共享首选项为false,则表示应用程序崩溃,因此您可以运行其他代码


希望这有帮助。

有一个名为available的接口,允许您检测由于未清理的异常而导致的崩溃


示例:请参见

我不知道是否在崩溃时调用了onStop()/ondestory()。如果不是,那只是更新一个共享的偏好值。你到底为什么需要知道?如果你想知道你的一个用户什么时候应用程序崩溃了,就把ACRA整合到你的项目中。这不是我最后做的,但这是一个很好的建议。