android - 获取崩溃日志并将其作为电子邮件发送

标签 android email crash

从我的搜索中,我得到了以下用于获取崩溃日志的代码。

try {
      Process process = Runtime.getRuntime().exec("logcat -d");
      BufferedReader bufferedReader = new BufferedReader(
      new InputStreamReader(process.getInputStream()));

      StringBuilder log=new StringBuilder();
      String line;
      while ((line = bufferedReader.readLine()) != null) 
      {
        log.append(line);
      }

但是我应该在哪里添加这段代码,以便在我的应用程序崩溃时得到崩溃报告。

我也想通过电子邮件发送或发送到服务器,但是在应用程序崩溃后,如何调用操作来发送电子邮件/HTTP post 方法。

请提前告知并感谢。

最佳答案

处理崩溃日志的最佳方法是创建一个 UncaughtExceptionHandler 并根据您的要求进行处理。创建一个 BaseActivity 类并用它扩展所有 Activity 并将这些代码内容放入 BaseActivity 类中。

private Thread.UncaughtExceptionHandler handleAppCrash = 
                                         new Thread.UncaughtExceptionHandler() {
        @Override
        public void uncaughtException(Thread thread, Throwable ex) {
            Log.e("error", ex.toString());
            //send email here
        }
    };

然后只需在 BaseActivityonCreate() 方法中启用

Thread.setDefaultUncaughtExceptionHandler(handleAppCrash);

因此,现在只要您的应用程序发生崩溃,uncaughtException() 就会被调用,您将不得不相应地处理崩溃。

关于android - 获取崩溃日志并将其作为电子邮件发送,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20399371/

相关文章:

android - setText方法导致Android App崩溃

java - Android - 没有可用的默认构造函数

android - 如果应用程序在启动时运行,如何使屏幕不进入休眠状态?

python - 将 MailChimp 与 SendGrid 结合使用

c# - AWS/SES 电子邮件发送...您的体验如何?

docker - Docker 上的 Kubernetes 创建具有空服务帐户且没有 token 的容器,导致容器崩溃和重新启动

android - 应用程序因短信监听器而崩溃

Android Listview 标题和部分月份和日期列表

php - Stripe 支付安卓

iphone - 联系人列表 Action 按钮