ACRA:已配置为发送邮件报告但未收到任何邮件

时间:2012-12-21 09:53:10

标签: android acra

我第一次尝试配置ACRA。我遵循了基本设置指南:

1.将acra jar文件整合到我的应用程序

2.修复了一个新的类扩展应用程序类,并将以下代码添加到其中:

     @ReportsCrashes(formKey = "", // will not be used
     mailTo = "mymailId@gmail.com")
     public class MyApplication extends Application
     {
         @Override
        public void onCreate() 
        {
            super.onCreate();
            ACRA.init(this);
        }
     }

3.对清单文件进行所有必要的更改

似乎一切都正确完成,我能够在logcat中获得以下内容:

12-21 14:59:10.994: D/ACRA(28728): ACRA is enabled for com.android.demo.notepad1, intializing...
12-21 14:59:11.064: D/ACRA(28728): Using default Mail Report Fields
12-21 14:59:11.064: D/ACRA(28728): Looking for error files in /data/data/com.android.demo.notepad1/files
12-21 14:59:11.074: W/ACRA(28728): **com.android.demo.notepad1 reports will be sent by email (if accepted by user).**

但我无法收到任何邮件:(!

3 个答案:

答案 0 :(得分:2)

据我所知,mailTo选项需要用户才能发送电子邮件。 发生错误时,必须打开另一个邮件客户端(例如Gmail.apk)以处理崩溃报告并发送电子邮件。因此错误将打开邮件客户端,我们需要用户单击“发送”按钮。

答案 1 :(得分:1)

虽然有点晚,有人可能会觉得它很有用......

我确实至少遇到过与ACRA 4.5.0类似的问题,一旦所有其他配置选项实际设置,我就能解决这个问题。这意味着 - 虽然部分标记为可选 - 我必须给以下选项赋值(在@ReportsCrashes注释中)

  • resDialogText = R.string.crash_dialog_text, // Text to display upon crash
  • resDialogIcon = android.R.drawable.ic_dialog_info, //optional (apparently not). default is a warning sign
  • resDialogTitle = R.string.crash_dialog_title, // optional (apparently not). default is your application name
  • resDialogCommentPrompt = R.string.crash_dialog_comment_prompt, // optional (apparently not). when defined, adds a user text field input with this text resource as a label
  • resDialogOkToast = R.string.crash_dialog_ok_toast // optional (apparently not). displays a Toast message when the user accepts to send a report.

虽然我设置mode = ReportingInteractionMode.DIALOG,至少可能是我问题的根源。

答案 2 :(得分:0)

没有使用“mailTo”字段,只使用了@ReportsCrashes(formKey = "formkey")
确保您正确地从谷歌驱动器获取表单密钥 在崩溃时,您将获得有关Google drive excel文件的报告 并确保您已添加Internet权限并在mainfeast中添加“MyApplication”

<manifest ...>
  <application ... android:name="MyApplication">
    ...
  </application>
  <uses-permission android:name="android.permission.INTERNET">
  </uses-permission>
</manifest>

此处提供详细说明http://acra.ch/