从我的搜索,我得到以下代码获取崩溃日志.
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发布方法.
请提前告知并提前致谢.
处理崩溃日志的最佳方法是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 } };
然后通过使用启用onCreate()
你BaseActivity
的内部方法
Thread.setDefaultUncaughtExceptionHandler(handleAppCrash);
所以,现在只要你的应用程序出现崩溃uncaughtException()
就会被调用,你将不得不相应地处理崩溃.