アプリを閉じずに ACRA 例外レポートを送信しようとしていますが、それでもアプリが閉じられ、ダイアログが表示されます。
このような例外レポートを送信しています。
ACRA.getErrorReporter().handleException(finalException, false);
2 番目の引数は、アプリを閉じる役割を果たします。しかし、それでもダイアログが表示され、アプリはとにかく閉じます。
これが私の構成ですが、役に立たないと思います
@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"
)
バックグラウンドでレポートを送信し、ユーザーに通知しない方法など、何か間違っている可能性があります。
ありがとう。
編集
ソースコードを読んだところ、これを行う方法が 1 つしか見つかりませんでした。
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();
}
しかし、これを行う別のより良い方法のようです。