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?