是否可以區分以下內容:如何檢測崩潰後的重建與正常活動破壞後的重建
A.活動正在被操作系統銷燬後重新創建。例如,如果設備啓用了「不要保留活動」,並且用戶將我的應用程序發送到了後臺,然後再次將它帶到前臺。
B.活動正在應用程序崩潰後重新創建。
是否可以區分以下內容:如何檢測崩潰後的重建與正常活動破壞後的重建
A.活動正在被操作系統銷燬後重新創建。例如,如果設備啓用了「不要保留活動」,並且用戶將我的應用程序發送到了後臺,然後再次將它帶到前臺。
B.活動正在應用程序崩潰後重新創建。
我不認爲有這樣的方式,但我不認爲onStop或OnDestroy是在活動崩潰時調用的,但不是100%確定的。
如果不是,則在onStop或onDestroy中設置共享首選項,即設置爲true的shutdownCorrectly
。
然後,當活動打開時,檢查共享首選項shutdownCorrectly
運行您的普通代碼並將共享首選項設置爲false。如果檢查時共享偏好設置爲false,則表示應用程序崩潰,因此您可以運行其他代碼。
希望這會有所幫助。
不完全是我最終做的,但這是一個很好的建議。 – jph
有一個名爲Thread.UncaughtExceptionHandler的接口可用,它允許您檢測由於未受擾的異常導致的故障。
例如:看到here
我不知道的onStop()/的onDestroy()調用崩潰。如果不是,它只是更新共享首選項值。 – Warpzit
爲什麼你需要知道?如果您想知道您的某個用戶何時遇到應用程序崩潰,請將ACRA集成到您的項目中。 – npace