我正在开发一个 Android 库,如果看到未捕获的异常,我需要执行一些操作。
我成功设置了未捕获的异常处理程序并运行了我需要的代码,即将一些信息发布到 Web 服务器,但是在我的部分完成后,我希望应用程序执行 Android 通常会执行的操作,即向通知他们它已经崩溃,然后退出应用程序,并将详细信息发布到 Google Play 开发者控制台。
目前,我的未捕获异常已成功发布到服务器,但随后应用程序仍在运行,但由于线程派对消失,因此处于一种奇怪的状态,通常情况下,如果我抛出未捕获的异常,Android 将关闭应用程序.
以下是我如何处理未捕获的异常处理程序:
private static void setUnhandledExceptionHandler()
{
Thread.setDefaultUncaughtExceptionHandler(new UncaughtExceptionHandler()
{
@Override
public void uncaughtException(final Thread thread, final Throwable) {
CrashReporter.ReportUnhandledCrash(((Exception) ex));
Looper.loop();
}
});
}
基本上,我想要做的是,让我的应用程序通过我的未处理异常处理程序发布到我的服务器,然后退出应用程序,就像 Android 通常做的那样,即在使用时显示强制关闭错误并关闭应用程序。