【发布时间】:2013-10-28 21:51:28
【问题描述】:
我们的大多数活动都访问特定于用户的模型。所有这些活动都继承自一个提供 getModel() 调用的 ModelActivity 基类。当这些活动之一检测到用户已退出(通过 AccountManager 回调)时,它会坚持其现有模型,但准备通过以 FLAG_ACTIVITY_CLEAR_TOP 开始其意图来退出回到根活动(不是用户特定的)。
但是,如果用户在应用程序未运行时删除了帐户,那么在恢复活动时我们会遇到麻烦。现在活动需要处理没有模型,这使得代码更加复杂和容易出错。
理想情况下,我们会在活动创建之前拦截应用程序恢复过程。然后我们会检查我们是否有一个帐户和一个模型,如果没有,则清除保存的活动堆栈,并从我们的根活动而不是上次保存的活动重新启动。但据我所知,我们可以运行代码的第一个位置是在活动的 onCreate 回调中。
有没有办法在应用程序从后台保存恢复时运行一些代码,但在创建保存的活动之前?
【问题讨论】:
标签: android android-activity activity-lifecycle