Manera ideal de configurar el controlador de excepción global no capturado en Android

Quiero establecer un controlador de excepción global no capturado para todos los hilos en mi aplicación de Android. Entonces en miApplication subclase establezco una implementación deThread.UncaughtExceptionHandler como manejador predeterminado para excepciones no detectadas.

Thread.setDefaultUncaughtExceptionHandler(
                new DefaultExceptionHandler(this));

En mi implementación, estoy tratando de mostrar unAlertDialog mostrando el mensaje de excepción apropiado.

Sin embargo, esto no parece funcionar. Cada vez que se lanza una excepción para cualquier subproceso que no se maneja, aparece el diálogo predeterminado del sistema operativo ("¡Lo siento! -Aplicación-se ha detenido-cuadro de diálogo inesperado").

¿Cuál es la forma correcta e ideal de establecer un controlador predeterminado para las excepciones no detectadas?

Respuestas a la pregunta(5)

Su respuesta a la pregunta