我希望在未处理的异常被记录后关闭应用程序。在此搜索后,我执行了以下操作:
在调用
谢谢!
public class MyApplication extends Application {
//uncaught exceptions
private Thread.UncaughtExceptionHandler defaultUEH;
// handler listener
private Thread.UncaughtExceptionHandler _unCaughtExceptionHandler = new Thread.UncaughtExceptionHandler() {
@Override
public void uncaughtException(Thread thread, Throwable ex) {
ActivityManager am = (ActivityManager)getSystemService(Context.ACTIVITY_SERVICE);
//logging code
//..........
//call the default exception handler
defaultUEH.uncaughtException(thread, ex);
}
};
public MyApplication() {
defaultUEH = Thread.getDefaultUncaughtExceptionHandler();
Thread.setDefaultUncaughtExceptionHandler(_unCaughtExceptionHandler);
}
}
在调用
defaultUEH.uncaughtException(thread, ex);
之后,我试图调用System.exit()
和android.os.Process.killProcess(android.os.Process.myPid());
(甚至在一些帖子中找到建议同时使用两者)。问题是我得到了一个黑屏,只能通过手机任务管理器强制退出应用程序。我做错了什么?谢谢!