1,Java中有一个接口,static interface Thread.UncaughtExceptionHandler 当Thread 因未捕获的异常而突然终止时,调用处理程序的接口。

2,Java中有一个方法,static void setDefaultUncaughtExceptionHandler(Thread.UncaughtExceptionHandler eh) 设置当线程由于未捕获到异常而突然终止,并且没有为该线程定义其他处理程序时所调用的默认处理程序。

public class DefaultExceptionHandler implements UncaughtExceptionHandler {     private Context act = null;     public DefaultExceptionHandler(Context act) {        this.act = act;     }     @Override     public void uncaughtException(Thread thread, Throwable ex) {        // 收集异常信息 并且发送到服务器        sendCrashReport(ex);        // 等待半秒        try {            Thread.sleep(500);        } catch (InterruptedException e) {            //        }        // 处理异常        handleException();     }     private void sendCrashReport(Throwable ex) {        StringBuffer exceptionStr = new StringBuffer();        exceptionStr.append(ex.getMessage());        StackTraceElement[] elements = ex.getStackTrace();        for (int i = 0; i < elements.length; i++) {            exceptionStr.append(elements[i].toString());        }        //TODO         //发送收集到的Crash信息到服务器     }     private void handleException() {        //TODO         //这里可以对异常进行处理。        //比如提示用户程序崩溃了。        //比如记录重要的信息,尝试恢复现场。        //或者干脆记录重要的信息后,直接杀死程序。     } } 


3,在主Activity的onCreate(Bundle savedInstanceState)方法中增加如下代码。
Thread.setDefaultUncaughtExceptionHandler(new DefaultExceptionHandler(
this.getApplicationContext())
);

4,发送到服务器!

更多相关文章

  1. 万字长文带你了解最常用的开源 Squid 代理服务器
  2. Nginx系列教程(一)| 手把手教你在Linux环境下搭建Nginx服务
  3. Nginx系列教程(三)| 一文带你读懂Nginx的负载均衡
  4. Android(安卓)数据存储(二)文件存储
  5. Android系统信息获取 之六:网络连接状态信息获取
  6. Ant编译编译APK、打包打包JS
  7. Android(安卓)YUV视频数据叠加时间信息
  8. Ubuntu编译Android(安卓)KitKat 4.4出现Chromium gyp HashSet_jn
  9. android退出activity

随机推荐

  1. PMS/AMS剖析之应用开机自启动
  2. MVC、MVP的讲解,如优缺点,使用需求场景
  3. Android(安卓)studio 更新只显示"Downloa
  4. 音频采集(AudioRecorder)
  5. Android中xml解析--实现软件升级功能
  6. android 音量设置条
  7. Android(安卓)对Layout_weight属性完全解
  8. Android(安卓)OTA 升级之五:updater
  9. android studio 错误:“Gradle sync faile
  10. Android底部菜单的实现