我正在编写一个自定义的UncaughtExceptionHandler来优雅地结束应用程序。为了收集崩溃日志,我正在使用Crashlytics。目标是
在自定义Uncaughtexception处理程序中收集崩溃日志。
将崩溃日志发送到Crashlytics服务器。
重启应用而不显示"强制关闭"对话框。
为了实现这一点,我编写了以下代码,它似乎捕获了UncaughtExceptions但它没有将关闭发送到Crashlytics服务器。
公共类MyApplication扩展了Application {
Thread.UncaughtExceptionHandler mUEHandler;
Thread.UncaughtExceptionHandler mDefaultUEHandler;
@Override
public void onCreate() {
super.onCreate();
Fabric.with(this, new Crashlytics());
mDefaultUEHandler = Thread.getDefaultUncaughtExceptionHandler();
mUEHandler = new Thread.UncaughtExceptionHandler() {
@Override
public void uncaughtException(Thread t, Throwable e) {
reEmergeFromCrash();
Crashlytics.logException(e);
}
};
Thread.setDefaultUncaughtExceptionHandler(mUEHandler);
throw new RuntimeException("hello");
}
}
出错了什么?如何将捕获的崩溃日志发送到Crashlytics。
答案 0 :(得分:0)
想出来。 Crashlytics.logException()会记录您捕获的异常,但为了减轻应用程序资源的压力,Fabric设计了Crashlytics,以便在您下次打开应用程序时将记录的异常发送到服务器。 / p>