如果想要捕获全局未捕获的异常,以下代码写入自定义的Application类中;如果只想捕获一个界面的异常,则写入指定界面中即可
private BaseApplication instance;
oncreate(){
instance = this;
// 程序崩溃时触发线程 以下用来捕获程序崩溃异常Thread.setDefaultUncaughtExceptionHandler(restartHandler);
}
// 创建服务用于捕获崩溃异常 private Thread.UncaughtExceptionHandler restartHandler = new Thread.UncaughtExceptionHandler() { public void uncaughtException(Thread thread, Throwable ex) { ex.printStackTrace(); //发生崩溃异常时,重启应用Intent intent = new Intent(instance,LoginActivity.class); intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK); instance.startActivity(intent);//杀掉进程:结束进程之前可以把你程序的注销或者退出代码放在这段代码之前 android.os.Process.killProcess(android.os.Process.myPid());} };