ACRA错误记者的不同实例

时间:2015-07-22 08:34:15

标签: android acra

我可以创建不同的ACRA实例吗?

我有两种方法可以使用错误报告器。一个正常的系统崩溃。另一个用于静默发送报告。这听起来不错,除了前者我需要覆盖send方法:

ACRA.getErrorReporter().setReportSender(new HttpSender(org.acra.sender.HttpSender.Method.PUT, org.acra.sender.HttpSender.Type.JSON, null) {
    @Override
    public void send(final Context context, final CrashReportData report) throws ReportSenderException {
        super.send(context, report);
        callSomethingReallyImportantOnCrash();
    }
});

然而,当应用程序没有关闭时,可能无法调用方法callSomethingReallyImportantOnCrash。所以这有效:

ACRA.getErrorReporter().setReportSender(new HttpSender(org.acra.sender.HttpSender.Method.PUT, org.acra.sender.HttpSender.Type.JSON, null) {
    @Override
    public void send(final Context context, final CrashReportData report) throws ReportSenderException {
        super.send(context, report);
        // I call a function to set this ErrorReporter before sending report
        // this method sets the default ErrorReporter back
        resetToFormerSend();
    }
});

但是我担心这是错误的,有更好的方法吗?我无法在ACRA API中找到它。

1 个答案:

答案 0 :(得分:-1)

我认为我不了解你的用例。

您无法运行2个ACRA实例。

但你可以打电话

ACRA.getErrorReporter().handleSilentException(e);

我想要以静默方式显式处理异常。 这符合您的要求吗?