import java.io.PrintWriter;
import java.io.StringWriter;
import java.text.SimpleDateFormat;
import java.util.Date;
//获取崩溃信息
final Thread.UncaughtExceptionHandler defaultHandler = Thread.getDefaultUncaughtExceptionHandler();
Thread.setDefaultUncaughtExceptionHandler(new Thread.UncaughtExceptionHandler() {
@Override
public void uncaughtException(Thread thread, Throwable throwable) {
//获取崩溃时的UNIX时间戳
long timeMillis = System.currentTimeMillis();
//时间戳转换
StringBuilder stringBuilder = new StringBuilder(new SimpleDateFormat("yyyy/MM/dd HH:mm:ss").format(new Date(timeMillis)));
stringBuilder.append(":\n");
//获取错误信息
stringBuilder.append(throwable.getMessage());
stringBuilder.append("\n");
//获取堆栈信息
StringWriter sw = new StringWriter();
PrintWriter pw = new PrintWriter(sw);
throwable.printStackTrace(pw);
stringBuilder.append(sw.toString());
//拿到的错误信息
String errorLog = stringBuilder.toString();
//写入文件
LogUtil.i("ceshi", " 程式崩溃 日志 : " + "\n" + errorLog);
//如何处理该崩溃,下面使用默认的处理方式让APP停止运行
// defaultHandler.uncaughtException(thread, throwable);
}
});