我正在通过以下方式处理我的应用程序中发生的任何未捕获的异常:
Thread.setDefaultUncaughtExceptionHandler(this);
这是我实现 UncaughtExceptionListener 的启动器 Activity。我处理异常并将其发送到我的日志服务器就好了,但是,我的应用程序并没有结束。它只是像僵尸一样运行,直到按下主页或返回按钮。处理异常后如何终止进程?
编辑
这是一个测试和工作活动,它抛出一个未捕获的异常,该异常将被(由线程)捕获并处理。永远不会发布 toast,一旦记录异常,进程就会变成僵尸。
class TestActivity extends Activity implements UncaughtExceptionListener {
@Override public void onCreate(Bundle icicle) {
super.onCreate(icicle);
Thread.setDefaultUncaughtExceptionHandler(this);
throw new RuntimeException("I'm a destuctive booger.");
setContentView(R.layout.activity_test);
}
@Override public void uncaughtException(Thread thread, Throwable toss) {
Log.e(TAG, "An uncaught exception has been recieved.", toss);
Toast.makeText(this, "Big Error", Toast.LENGTH_LONG).show();
}
}