Crashlytics Android SDK-自定义UncaughtExceptionHandler [英] Crashlytics Android SDK - custom UncaughtExceptionHandler

查看:105
本文介绍了Crashlytics Android SDK-自定义UncaughtExceptionHandler的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

是否可以在一个应用程序中结合使用自定义UncaughtExceptionHandler和crashlytics?如果可以,怎么办?

Is it possible to incorporate custom UncaughtExceptionHandler along with crashlytics in one application? If yes - how?

推荐答案

由于最新版本的Crashlytics异步执行初始化,因此最好使用Fabric的初始化回调:

Since recent versions of Crashlytics perform initialization asynchronously, it's better to use Fabric's initialization callback:

private static Thread.UncaughtExceptionHandler mDefaultUEH;
private static Thread.UncaughtExceptionHandler mCaughtExceptionHandler = 
   new Thread.UncaughtExceptionHandler() {
     @Override 
public void uncaughtException(Thread thread, Throwable ex) {
        // Custom logic goes here

        // This will make Crashlytics do its job
        mDefaultUEH.uncaughtException(thread, ex);
    }
};

CrashlyticsCore core = new CrashlyticsCore.Builder()
            .disabled(BuildConfig.DEBUG)
            .build();
Fabric.with(new Fabric.Builder(this).kits(new Crashlytics.Builder()
            .core(core)
            .build())
            .initializationCallback(new InitializationCallback<Fabric>() {
                @Override
                public void success(Fabric fabric) {
                    mDefaultUEH = Thread.getDefaultUncaughtExceptionHandler();
                    Thread.setDefaultUncaughtExceptionHandler(mCaughtExceptionHandler);
                }

                @Override
                public void failure(Exception e) {

                }
            })
            .build());

这篇关于Crashlytics Android SDK-自定义UncaughtExceptionHandler的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆