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

VIG*_*ESH 4 email crash android

从我的搜索,我得到以下代码获取崩溃日志.

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);
      }
Run Code Online (Sandbox Code Playgroud)

但是我在哪里添加此代码,以便每当我的应用程序崩溃时我都应该收到崩溃报告.

此外,我想通过电子邮件发送或发送到服务器,但在应用程序崩溃后,如何调用动作发送电子邮件/ HTTP发布方法.

请提前告知并提前致谢.

Lal*_*ani 18

处理崩溃日志的最佳方法是UncaughtExceptionHandler根据您的要求创建并处理崩溃日志.创建一个BaseActivity类并使用它扩展所有活动,并将此代码放入BaseActivity类中.

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

然后通过使用启用onCreate()你BaseActivity的内部方法

Thread.setDefaultUncaughtExceptionHandler(handleAppCrash);

所以,现在只要你的应用程序出现崩溃uncaughtException()就会被调用,你将不得不相应地处理崩溃.