如何在Android中覆盖ACRA的设置



在我的Application-Class上,我用这些注释定义了一个ACRA

@ReportsCrashes(formKey = "",
            mailTo = "my@email.de",
            mode = ReportingInteractionMode.DIALOG,
            //resToastText = R.string.crash_toast_text, // optional, displayed as soon as the crash occurs, before collecting data which can take a few seconds
            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.
)
public class AttachApplication extends Application implements OnSharedPreferenceChangeListener{

这工作得很好,但我也有按钮在我的应用程序中,用户可以手动发送错误报告。为此,我想更改模式,以便只发送电子邮件而不是对话框。

public void startSendErrorAction(View view) {
    Log.d( TAG, "sending error to srs" );
    ACRAConfiguration config = ACRA.getConfig();
    int prevDialogTitle = config.resDialogTitle();
    int prevDialogText = config.resDialogText();
    config.setResDialogTitle( R.string.manual_error_title );
    config.setResDialogText( R.string.manual_error_text );
    ACRA.setConfig( config );
    ACRA.getErrorReporter().handleException(null);
    config.setResDialogText( prevDialogText );
    config.setResDialogTitle( prevDialogTitle );
    ACRA.setConfig( config );
}

我试图只改变对话框的文本和标题,但这不会工作。它总是使用在注释中配置的那些。

是否可以覆盖这些值?由于

我认为你想要像ACRA那样的东西:有时对话报告,有时沉默报告,但方向相反。所以首先在配置中使用SILENT,然后在设置配置之前用DIALOG重置它。

相关内容

  • 没有找到相关文章

最新更新