许久没有更新了,主要是一些想更新的功能尚未实现,就先屯着以后更新吧。
这次想做一个全局异常的捕获并创建文件到本地,然后发送到服务器的功能,但是搜索了好几篇文章都达不到想要的效果,在集合了好几位前人的经验后,整合了部分代码,然后终于解决了所有问题。下面是我参考的两篇博客,我的成功也是基于他们的基础之上的,只是对大神的代码做了部分的修改。
参考博客:http://blog.youkuaiyun.com/jdsjlzx/article/details/7606423,飘舟大神转发的代码,出现了两个bug,一个是会一直吐司,并且会创建3个log文件,在debug的时候,会出现走一步创建一个log文件的情况。
参考博客二:http://blog.youkuaiyun.com/u012516952/article/details/50504610,在网上查找了很多资料之后,发现还是只有飘舟大神转的那篇比较完善,于是乎还是从上篇博客商下文章,这位大哥的方法也是建立在第一篇博客基础之上的,完美解决了重复创建和吐司的问题,但是在程序退出后点击图标再次打开,会出现白屏,返回键无效,接着黑屏程序无响应的情况。
而我的代码就是基于前两位的轮子,加上自己的一些理解,对代码进行了部分修改,达到最总的效果,不多说,直接上基本流程代码,我们需要创建一个CrashHandler类来实现 UncaughtExceptionHandler 接口,Thread.UncaughtExceptionHandler:线程未捕获异常处理器,用来处理未捕获异常。如果程序出现了未捕获异常,默认会弹出系统中强制关闭对话框。我们需要实现此接口,并注册为程序中默认未捕获异常处理。这样当未捕获异常发生时,就可以做一些个性化的异常处理操作。
package com.youdi.jzb.util;
import java.io.File;
import java.io.FileOutputStream;
import java.io.P