Maneira ideal de definir manipulador de exceção global não detectado no Android

Quero definir um manipulador de exceção não detectado global para todos os threads no meu aplicativo Android. Então, na minhaApplication subclasse eu defino uma implementação deThread.UncaughtExceptionHandler como manipulador padrão para exceções não capturadas.

Thread.setDefaultUncaughtExceptionHandler(
                new DefaultExceptionHandler(this));

Na minha implementação, estou tentando exibir umAlertDialog exibindo a mensagem de exceção apropriada.

No entanto, isso não parece funcionar. Sempre que é lançada uma exceção para qualquer segmento que não seja tratado, eu recebo a caixa de diálogo padrão do sistema operacional ("Desculpe! -Aplicativo-parou-inesperadamente").

Qual é a maneira correta e ideal de definir um manipulador padrão para exceções não capturadas?

questionAnswers(5)

yourAnswerToTheQuestion