Как перестать показывать "Приложение остановлено"
Я использую 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);
}