如何使用自定义URL实现ACRA

时间:2015-10-21 10:10:44

标签: android web acra

  1. 我想在后台发送崩溃报告的邮件但无法发送,因为它正在使用 ACTION_SEND 我正在使用代码:formKey = "", mailTo = "abc@gmail.com"

  2. 如何创建可以将报告保存到我自己的服务器的URL,如果可以使用任何可用于存储的虚拟URL或任何开源数据库。请推荐。

  3. 谢谢

1 个答案:

答案 0 :(得分:1)

使用此自定义类

public class AcraCustomSender implements ReportSender {

Context activity;



@Override
public void send(Context context, CrashReportData errorContent) throws ReportSenderException {
    activity=context;
    String crashReport = "";

    try {
        JSONObject object =  errorContent.toJSON();
        Log.e("acra", object.toString());
        crashReport = object.toString();


    }catch (JSONReportBuilder.JSONReportException e) {
        e.printStackTrace();
    }

    //the string crashreport contains your crash log. you can pass it to your own backend.

}

}

为您的应用程序创建另一个类

public class YourApplication extends Application {

@Override
public void onCreate() {
    try {
        ACRA.init(this);
        AcraCustomSender yourSender = new AcraCustomSender();
        ACRA.getErrorReporter().setReportSender(yourSender);
        super.onCreate();
    }catch (Exception ex) {
        ex.printStackTrace();
    }
}
}

现在每当应用程序崩溃时你都可以在AcraCustomSender类中获取它,并做任何你想做的事情(比如发送到你自己的数据库)