简体   繁体   English

在单击按钮时使用ACRA通过电子邮件发送应用程序日志时,获取空LogCat

[英]Getting empty LogCat when sending application logs via email using ACRA on a button click

Sending my application current events logs from eclipse LogCat on a button click. 单击按钮从Eclipse LogCat发送我的应用程序当前事件日志。

I found that this we can do by defining - 我发现我们可以通过定义-

String logcatArguments[] = { "-t", "100", "-v", "long","ActivityManager:I" ,"*:D","*:S"};

But when I send using ACRA on button click, the LOGCAT is coming empty "". 但是,当我在单击按钮时使用ACRA发送时, LOGCAT空的“”。

How to do that with ACRA ? 如何使用ACRA做到这一点?

I took help from - 我从-获得帮助

Sending-reports-for-caught-exceptions-or-for-unexpected-application-state-without-any-exception . 在没有任何异常的情况下发送捕获的异常或意外的应用程序状态的报告

My implementation for button click - 我的按钮点击实现 -

view.findViewById(R.id.logdone).setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {

String logcatArguments[] = { "-t", "100", "-v", "long","ActivityManager:I" ,"*:D","*:S"};
ACRAConfiguration config = ACRA.getConfig();
config.setMailTo("blabla@xyz.com");

config.setResToastText(R.string.crash_dialog_ok_toast);

config.setLogcatArguments(logcatArguments);

try
{
config.setMode(ReportingInteractionMode.TOAST);
}
catch (ACRAConfigurationException e)
{
e.printStackTrace();
}
ACRA.setConfig(config);

ACRA.getErrorReporter().handleException(null);

try {
        config.setMode(ReportingInteractionMode.SILENT);
    } catch (ACRAConfigurationException e) {
        e.printStackTrace();
    }

ACRA.setConfig(config);
}
});

My application class code - 我的应用程序类代码 -

  @ReportsCrashes(formKey = "",
        mailTo = "blabla@xyz.com",
        customReportContent = { ReportField.USER_CRASH_DATE, ReportField.USER_COMMENT, ReportField.USER_EMAIL, 
        ReportField.ANDROID_VERSION, ReportField.PHONE_MODEL, ReportField.BRAND, ReportField.APP_VERSION_CODE, 
        ReportField.APP_VERSION_NAME, ReportField.STACK_TRACE,  ReportField.APPLICATION_LOG, 
        ReportField.LOGCAT
        },
        mode = ReportingInteractionMode.DIALOG,
        resDialogText = R.string.crash_dialog_text)


@Override
    public void onCreate() {
        super.onCreate();

        // The following line triggers the initialization of ACRA
        ACRA.init(this);
    }

I had a similar problem when trying to set up ACRA. 尝试设置ACRA时遇到类似的问题。 My issue was that I did not include permission for reading log in Android Manifest. 我的问题是我没有在Android Manifest中获得读取日志的权限。

<uses-permission android:name="android.permission.READ_LOGS"></uses-permission>

Just a double checking. 只是仔细检查。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM