我可以创建不同的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中找到它。
答案 0 :(得分:-1)
我认为我不了解你的用例。
您无法运行2个ACRA实例。
但你可以打电话
ACRA.getErrorReporter().handleSilentException(e);
我想要以静默方式显式处理异常。 这符合您的要求吗?