捕获程序崩溃异常

如果想要捕获全局未捕获的异常,以下代码写入自定义的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());
} };

你可能感兴趣的:(Android,Studio)