我目前正在开发一个非常大的音乐应用程序。出于某种原因,我的应用程序随机关闭,没有任何错误消息。
我使用以下代码捕获项目中未捕获的异常:
Thread.setDefaultUncaughtExceptionHandler(new Thread.UncaughtExceptionHandler() {...});
但是即使它每次都适用于明显的异常,我也不会在应用程序自行关闭时捕获任何错误。另外,它与设备无关,因为我尝试了10种不同品牌,不同Android版本的设备。
我的问题是:有人经历过类似的事情吗?如果是,您的问题的解决方案是什么?或者换句话说:在任何情况下,Android应用程序都可以自行关闭而不会出现任何错误(并且无需使用System.exit())
我知道这不是一个非常具体的问题,但是由于我不知道它来自何处,所以到目前为止我再也做不到。
答案 0 :(得分:0)
默认的未捕获处理程序yo会负责将错误显示给用户,解决方案是对旧的引用进行引用,并按如下方式对其进行调用:
final Thread.UncaughtExceptionHandler appDefault = Thread.GetDefaultUncaughtExceptionHandler();
Thread.setDefaultUncaughtExceptionHandler(new Thread.UncaughtExceptionHandler() {
public void uncaughtException(Thread t, Throwable e) {
// DO STUFF BEFORE APP CRASHES
appDefault.uncaughtException(t, e); // call later, so the app crashes as default
}});