我想知道是否有辦法重新啓動/重新啓動應用程序在Android中,如果它崩潰。假設應用程序崩潰,由於一些錯誤,我想它自動重啓。可以讓我知道如何做這個?如何在Android中崩潰時以編程方式重新啓動/重新啓動應用程序?
2
A
回答
5
首先,你的應用程序不應該崩潰。如果發生崩潰,通常是由於未捕獲的異常(通常爲NullPointerException)。找出拋出異常的地方並修復它。
至於你的問題,具體來說,你也可以捕捉這些例外,並防止應用程序崩潰。例如,這將防止NullPointerException異常崩潰的應用程序:
try {
Object nullObj = null;
if (nullObj.toString().equals("bleh")) {
// app should crash from the NullPointerException if uncaught
}
} catch (NullPointerException e) {
// Catch the NullPointerException and prevent crashing
e.printStackTrace();
}
在這種情況下,應用程序不會崩潰,並繼續顯示應用程序。現在不要重新啓動應用程序,也許應該跳回到之前的活動並讓用戶知道出了什麼問題。
0
我明白你的困境。在發佈之前捕獲所有異常將變得困難。如果發生崩潰,您可以使用ACRA來捕獲異常 - 這將避免強行關閉。它也有重新啓動應用程序的機制,我相信。
+1其全部關於預測和正確反應失敗。 – 2011-03-26 17:17:16