アプリケーションで発生したキャッチされていない例外を次の方法で処理しています。
Thread.setDefaultUncaughtExceptionHandler(this);
これは UncaughtExceptionListener を実装するランチャー アクティビティです。例外を処理し、ログ サーバーに問題なく送信しますが、アプリケーションは終了しません。ホームボタンまたは戻るボタンが押されるまで、ゾンビとして走ります。例外を処理した後にプロセスを強制終了するにはどうすればよいですか?
編集
これは、(スレッドによって)キャッチされて処理されるキャッチされていない例外をスローするテストおよび作業アクティビティです。トーストは投稿されず、例外がログに記録されるとプロセスはゾンビになります。
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();
}
}