如果在Android中崩溃,如何以编程方式重新启动/启动应用程序?

时间:2011-03-26 16:14:19

标签: android

我想知道在Android中是否有一种方法可以以编程方式重新启动/重新启动应用程序。如果应用程序因某些错误而崩溃,我希望它能够自动重启。可以你让我知道怎么做?

2 个答案:

答案 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来捕获异常 - 这可以避免强制关闭。它还有重启应用程序的机制我相信。