Я хочу закрыть приложение после регистрации необработанного исключения. После поиска здесь я сделал следующее:
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());
(даже я нашел несколько сообщений, где сказано использовать оба). Проблема в том, что я получаю черный экран, и я должен принудительно закрыть приложение с помощью диспетчера задач телефона. Что я делаю не так?
С Уважением