我想知道在Android中是否有一种方法可以以编程方式重新启动/重新启动应用程序。如果应用程序因某些错误而崩溃,我希望它能够自动重启。可以你让我知道怎么做?
答案 0 :(得分: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();
}
在这种情况下,应用程序不会崩溃并继续显示应用程序。也许您应该跳回上一个Activity并让用户知道出错了。
答案 1 :(得分:0)
我了解你的困境。在发布之前捕获所有异常将是艰难的。如果发生崩溃,您可以使用ACRA来捕获异常 - 这可以避免强制关闭。它还有重启应用程序的机制我相信。