编程语言
首页 > 编程语言> > java – 如何在不关闭APP的情况下发送ACRA异常报告(甚至显示对话框)

java – 如何在不关闭APP的情况下发送ACRA异常报告(甚至显示对话框)

作者:互联网

我试图发送ACRA异常报告,而不关闭应用程序,但它仍然关闭应用程序并显示对话框.

我发送这样的异常报告.

   ACRA.getErrorReporter().handleException(finalException, false);

第二个参数负责关闭应用程序.
但它仍然显示对话框和应用程序关闭.

这是我的配置,但我认为它不会有用

@ReportsCrashes(
        reportType = org.acra.sender.HttpSender.Type.JSON,
        httpMethod = org.acra.sender.HttpSender.Method.POST,
        mode = ReportingInteractionMode.DIALOG,
        resDialogText = R.string.crash_dialog_text,
        resDialogIcon = android.R.drawable.ic_dialog_info, //optional. default is a warning sign
        resDialogTitle = R.string.crash_dialog_title, // optional. default is your application name
        resDialogCommentPrompt = R.string.crash_dialog_comment_prompt, // optional. When defined, adds a user text field input with this text resource as a label
        resDialogOkToast = R.string.crash_dialog_ok_toast,// optional. displays a Toast message when the user accepts to send a report.
        formUri = "aaaaaaaaa",
        formUriBasicAuthLogin = "oooooooo",
        formUriBasicAuthPassword = "bbbbbbbb"
)

也许我做错了什么,如何在后台发送报告而不通知用户.

谢谢.

编辑

我已阅读源代码,发现只有一种方法可以做到这一点.

   ReportingInteractionMode previousMode = ACRA.getConfig().mode();
                try {
                    ACRA.getConfig().setMode(ReportingInteractionMode.SILENT);
                } catch (ACRAConfigurationException e) {
                    e.printStackTrace();
                }
                ACRA.getErrorReporter().handleException(finalException, false);
                try {
                    ACRA.getConfig().setMode(previousMode);
                } catch (ACRAConfigurationException e) {
                    e.printStackTrace();
                }

但它似乎是另一种更好的方法.

解决方法:

ACRA.getErrorReporter().handleSilentException(e);

它是ACRA Wiki的一部分.

https://github.com/ACRA/acra/wiki/AdvancedUsage#sending-reports-for-caught-exceptions-or-for-unexpected-application-state-without-any-exception

标签:android,java,exception-handling,acra,acralyzer
来源: https://codeday.me/bug/20190829/1760672.html