Jak mogę powstrzymać moją aplikację przed zombifikacją po tym, jak poradzę sobie z nieumiejętnym Wyjątkiem?

Obsługuję wszelkie nieprzechwycone wyjątki, które występują w mojej aplikacji za pośrednictwem:

<code>Thread.setDefaultUncaughtExceptionHandler(this);
</code>

czy to jest mój program uruchamiający Aktywność implementująca UncaughtExceptionListener. Zajmuję się wyjątkiem i wysyłam go na mój serwer dziennika, ale moja aplikacja nie kończy się. Po prostu działa jak zombie, dopóki nie zostanie naciśnięty przycisk home lub back. Jak mogę zabić proces po obsłużeniu wyjątku?

Edytować
Oto działanie testowe i robocze, które generuje nieprzechwycony wyjątek, który ma zostać przechwycony (przez wątek) i obsłużony. Toast nigdy nie jest publikowany, a proces przechodzi w zombie po zarejestrowaniu wyjątku.

<code>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();
    }
}
</code>

questionAnswers(2)

yourAnswerToTheQuestion