【发布时间】:2016-11-08 23:42:37
【问题描述】:
如果我的应用程序崩溃(原因并不重要 - 可能是硬件问题、内存不足等),Android 总是在最后一个活动时启动我的应用程序。该应用程序供访问办公室进行约会的人使用。当客户到达时,接待处使用该客户的代码解锁应用程序,然后客户继续执行多项活动。因此,除了初始解锁屏幕之外,应用程序中的所有活动都需要客户端上下文。因此,如果应用因任何原因崩溃,应用需要返回到开始屏幕,但 Android 始终会返回到最后一个活动。
看起来这应该很容易做到,但是 Android “有用”地重新启动了最后使用的活动,没有客户端上下文就无法继续。与其编写一堆代码来检测应用程序是否在崩溃后重新启动,我宁愿它每次都返回到主要活动。我查看了 clearTaskOnLaunch 和 launchMode 清单选项,但它们在崩溃后似乎不起作用。我在每个线程上都有一个 UncaughtExceptionHandler,但某些崩溃(例如在本机代码中)只是终止应用程序而不调用它。
是的,我可以捆绑客户端状态并在崩溃后恢复它,但我不想序列化潜在的敏感信息,这似乎是操作系统会支持的东西,因为它听起来很基本。
好的,现在等待有人告诉我一些我错过的非常明显的解决方案......
谢谢。
【问题讨论】:
标签: android android-activity crash restart