在Android中设置全局未捕获异常处理程序的理想方法我想为我的Android应用程序中的所有线程设置一个全局未捕获的异常处理程序。所以,在我的Application子类中,我Thread.UncaughtExceptionHandler为未捕获的异常设置了默认处理程序的实现。Thread.setDefaultUncaughtExceptionHandler(
new DefaultExceptionHandler(this));在我的实现中,我试图显示一个AlertDialog显示适当的异常消息。但是,这似乎不起作用。无论何时,对于任何未处理的线程抛出异常,我都会获得库存操作系统默认对话框(“抱歉!-Application-have-stopped-unexpectedly dialog”)。为未捕获的异常设置默认处理程序的正确和理想方法是什么?
3 回答
FFIVE
TA贡献1797条经验 获得超6个赞
这应该就是你需要做的。(确保你事后停止进程 - 事情可能处于不确定状态。)
要检查的第一件事是Android处理程序是否仍然被调用。可能是您的版本被调用但是致命失败并且system_server在看到进程崩溃时显示通用对话框。
在处理程序的顶部添加一些日志消息,看它是否到达那里。从getDefaultUncaughtExceptionHandler打印结果,然后抛出未捕获的异常以导致崩溃。密切关注logcat输出,看看发生了什么。
- 3 回答
- 0 关注
- 606 浏览
添加回答
举报
0/150
提交
取消