我們的大部分活動都訪問用戶特定的模型。所有這些活動都繼承自ModelActivity基類,該類提供getModel()調用。當其中一個活動檢測到用戶已註銷(通過AccountManager回調)時,它會保留其現有模型,但準備通過使用FLAG_ACTIVITY_CLEAR_TOP啓動其意圖而退出到根活動(不是特定於用戶的活動)。攔截應用程序恢復時的活動創建
但是,如果用戶在應用程序未運行時刪除帳戶,則在活動恢復時會遇到麻煩。現在,活動需要處理的不是模型,這會使代碼更加複雜且容易出錯。
理想情況下,我們會在創建活動之前攔截應用程序還原過程。然後,我們將檢查我們是否有帳戶和模型,並且如果不清除已保存的活動堆棧,並從我們的根活動重新啓動,而不是最後保存的活動。但據我所知,我們可以運行代碼的第一個地方是在活動的onCreate回調中。
當應用程序從後臺保存恢復時,但在創建保存的活動之前,有沒有辦法運行一些代碼?