在Android的全局异常处理程序中记录Crashlytics错误

时间:2019-03-27 14:11:24

标签: android exception crashlytics

我正在尝试记录在我的Android应用程序之一中使用全局异常处理程序捕获的异常。总体策略很简单,如果出现异常,应用程序不应终止,如果它们是异常,请捕获该异常,登录到Crashlytics,然后重新启动应用程序。

以下是代码的一部分,该代码处理异常并将其记录到Crashlytics。

Thread.setDefaultUncaughtExceptionHandler(new Thread.UncaughtExceptionHandler() {
                @Override
                public void uncaughtException(Thread thread, Throwable e) {
                    Crashlytics.log(Log.ERROR, "Global Catch Handler", e.toString());
                    if(Preferences.getInstance().isReachRunning(SyncApplication.this)){
                        Intent freshIntent = new Intent(SyncApplication.this, AppMainActivity.class);
                        freshIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
                        SyncApplication.this.startActivity(freshIntent);
                        Process.killProcess(Process.myPid());
                        System.exit(10);
                    }
                }
            });

就异常捕获和重新启动应用程序而言,这似乎很好用,但是在Crashlytics仪表板中我看不到任何日志。

我还尝试添加Crashlytics.logException,但没有任何运气

我认为,由于我正在终止进程,因此Crashlytics会以某种方式错过日志记录部分。任何人都可以指导我完成正确的过程,该过程可以帮助我将错误记录到Crashlytics仪表板吗?

0 个答案:

没有答案