Я пытаюсь отправить отчет об исключении ACRA без закрытия приложения, но он все равно закрывает приложение и показывает диалог.Как отправить отчет об исключении ACRA без закрытия APP (даже показ диалога)
Отправка отчета об исключении подобным образом.
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"
)
Может быть, я делаю что-то не так, как только отправить отчет в фоновом режиме и не уведомлять пользователя.
Спасибо.
EDIT
Я прочитал исходный код и нашел только один способ сделать это.
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, но не заметил этот метод, потрясающий !! Извините за мое невнимание! – CROSP