为了账号安全,请及时绑定邮箱和手机立即绑定

在Android中设置全局未捕获异常处理程序的理想方法

在Android中设置全局未捕获异常处理程序的理想方法

MM们 2019-08-17 16:17:41
在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输出,看看发生了什么。


查看完整回答
反对 回复 2019-08-17
  • 3 回答
  • 0 关注
  • 578 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信