Android UncaughtExceptionHandler以获取应用程序的所有异常

Android UncaughtExceptionHandler以获取应用程序的所有异常,android,exception-handling,Android,Exception Handling,我想捕获我的应用程序中所有意外的异常并记录它们 因此,我实现了一个名为CustomExceptionHandler的UncaughtExceptionHandler,它将异常记录到内部数据库中 我还向MainActivity添加了异常处理程序: public class MainActivity extends HomeActivity { @Override public void onCreate (Bundle savedInstanceState) { super.onC

我想捕获我的应用程序中所有意外的异常并记录它们

因此,我实现了一个名为CustomExceptionHandler的UncaughtExceptionHandler,它将异常记录到内部数据库中

我还向MainActivity添加了异常处理程序:

public class MainActivity extends HomeActivity {
  @Override
  public void onCreate (Bundle savedInstanceState) {
    super.onCreate (savedInstanceState);
    Thread.setDefaultUncaughtExceptionHandler (new CustomExceptionHandler(getLogger ()));
  }
}

但要获取所有异常,是否必须将异常处理程序添加到所有活动和服务中?或者为主活动注册异常处理程序就足够了吗?

未捕获异常处理程序由未处理异常的线程调用。活动和服务与此过程无关。 对于应用程序的所有线程中的未捕获异常,将调用使用setDefaultUncaughtExceptionHandler设置的处理程序集,但使用setUncaughtExceptionHandler设置特定处理程序的线程除外。
要回答您的问题,您只需设置一次默认处理程序。

谢谢您的回答。这节省了很多工作