如何将崩溃日志发送到我的电子邮件?

时间:2018-11-27 13:43:59

标签: android exception exception-handling

我浏览了所有Internet,但没有找到任何将致命崩溃日志发送到我的电子邮件的有效方法。通常,我会尝试发送任何崩溃日志,并且我必须找到一种真正的好方法。例如,我看到了这样的变体:

private void SendLogcatMail(Throwable e) {
        String stackTrace = Log.getStackTraceString(e);
        Intent emailIntent = new Intent(Intent.ACTION_SEND);
        emailIntent.putExtra(Intent.EXTRA_EMAIL, new String[]{"*****@gmail.com"});
        emailIntent.putExtra(Intent.EXTRA_SUBJECT, "Problem with your application");
        emailIntent.putExtra(Intent.EXTRA_TEXT, stackTrace);
        try {
            emailIntent.setType("application/octet-stream");
            context.startActivity(Intent.createChooser(emailIntent, "Send mail..."));
        } catch (android.content.ActivityNotFoundException ex) {
            Toast.makeText(context.getApplicationContext(), "There are no email clients installed.", Toast.LENGTH_SHORT).show();
        }
    }

我必须用异常代码调用此方法。我没有找到任何好的方法来处理异常和错误并将它们发送到我的邮箱。也许有人看到了我的问题的一些很好的解决方案。我将很高兴看到它。谢谢!!!

2 个答案:

答案 0 :(得分:1)

您可以使用ACRA。设置很容易。

看起来像这样

@ReportsCrashes(mailTo = "yourmail",
        customReportContent = {
                ReportField.LOGCAT},
        mode = ReportingInteractionMode.SILENT,
        resToastText = "Crash Report")
public class ApplicationClass extends Application

答案 1 :(得分:1)

您可以使用http://fabric.io服务。在这种情况下,您将自动收到带有日志和有关设备的所有信息的崩溃信息。

Stacktrace将在那里。

这是一项大型服务,其中包含 crashlytics