我试图发送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
总结以上是内存溢出为你收集整理的java – 如何在不关闭APP的情况下发送ACRA异常报告(甚至显示对话框)全部内容,希望文章能够帮你解决java – 如何在不关闭APP的情况下发送ACRA异常报告(甚至显示对话框)所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)