Как перестать показывать "Приложение остановлено"

Я использую Thread.UncaughtExceptionHandler, чтобы поймать исключение UnCaughtException. Я могу поймать исключение, но я также хочу перезапустить или убить приложение, а не сбой, как это сделать?

Вот мой код:

MyUncaughtExceptionHandler:

    public class MyUncaughtExceptionHandler implements Thread.UncaughtExceptionHandler {

    private BaseActivity activity;
    private Thread.UncaughtExceptionHandler defaultUEH;

    public MyUncaughtExceptionHandler(BaseActivity activity) {
        this.activity = activity;
        this.defaultUEH = Thread.getDefaultUncaughtExceptionHandler();
    }

    public void setActivity(BaseActivity activity) {
        this.activity = activity;
    }
    @Override
    public void uncaughtException(Thread thread, Throwable throwable) {
        Log.d("Activity",""+activity.getClass());
        Log.d("throwable",""+throwable);
        if (defaultUEH != null) {
            // let Android know what happened
            defaultUEH.uncaughtException(thread, throwable);
        } else {
            // kill process
            System.exit(-1);
        }
      //  defaultUEH.uncaughtException(thread, throwable);
    }
}

BaseActivity:

   @Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    if(_unCaughtExceptionHandler == null)
        _unCaughtExceptionHandler = new MyUncaughtExceptionHandler(this);
    else
        _unCaughtExceptionHandler.setActivity(this);

    if(Thread.getDefaultUncaughtExceptionHandler() != _unCaughtExceptionHandler)
        Thread.setDefaultUncaughtExceptionHandler(_unCaughtExceptionHandler);

}

0 ответов

Другие вопросы по тегам