我想在应用程序崩溃时报告日志。我想将这份报告发送到我的邮件中,我该如何实现这一点,任何人都可以给出一个想法吗?
提前致谢
您需要的是崩溃报告服务。有太多的选择:Bugsense,Flurry,TestFlight,Acralizer,Google Analytics for Android,Crittercism等。
试试这个...
Process process = Runtime.getRuntime().exec("logcat -e");
BufferedReader bufferedReader = new BufferedReader(
new InputStreamReader(process.getInputStream()));
StringBuilder log=new StringBuilder();
String line = "";
while ((line = bufferedReader.readLine()) != null) {
log.append(line);
}
现在使用意图的邮件字符串行...
Intent email = new Intent(Intent.ACTION_SEND);
email.putExtra(Intent.EXTRA_EMAIL, new String[]{"aaa@sdf.com"});
email.putExtra(Intent.EXTRA_SUBJECT, "Crash Report");
email.putExtra(Intent.EXTRA_TEXT, line);
email.setType("message/rfc822");
startActivity(Intent.createChooser(email, "Choose an Email client :"));
使用此链接更多帮助....
http://www.coderzheaven.com/2011/07/16/how-to-read-logcat-contents-programmatically-in-android/
当然,捕获所有异常并使用本机电子邮件发送它是个好主意,但这是一个示例应用程序,您可以使用它收集logcat的输出并将其发送到电子邮件或消息传递。
https://code.google.com/p/android-log-collector/
你也可以在这里获得一些参考资料
http://l6n.org/android/sendlog.shtml
使用 Crittercism 时,它们提供了获取带有崩溃报告的日志猫快照的功能。
在此处查看如何激活它:
https://app.crittercism.com/developers/docs-android#Include_Logcat
这目前在付费计划下可用,请参阅此处以供参考:
https://www.crittercism.com/pricing/
如果您使用 ACRA 捕获应用程序中的崩溃,那么只需配置 ACRA 以通过电子邮件发送报告即可。
见 https://github.com/ACRA/acra/wiki/AdvancedUsage#sending-reports-by-email
但是,如果您有大量用户(或可能拥有),那么我强烈建议您使用托管的崩溃报告服务之一来汇总您的崩溃。因为即使您的应用程序是完美的,它也会在您使用的库中的错误、AOSP 本身、奇怪的设备、奇怪的 Android 实现、奇怪的设备状态中产生崩溃。