Получить триггер события при использовании приложения cra sh - PullRequest
0 голосов
/ 13 февраля 2020

Я хочу открыть экран stati c с параметром «Перезапустить приложение» при сбое приложения. Это может с любого экрана. Можно ли вызвать событие приложения cra sh на уровне приложения и запустить новый экран? Я ничего не получил за это.

Любая помощь приветствуется.

1 Ответ

2 голосов
/ 13 февраля 2020

В своем классе Application вы можете добавить UncaughtExceptionHandler.

Например, добавьте эту переменную в класс приложения:

private Thread.UncaughtExceptionHandler unCaughtExceptionHandler = (thread, ex) -> {
        ex.printStackTrace();
        [set some sharedpreference like `isCrash` to true]
};

Сам класс приложения имеет метод с именем

setDefaultUncaughtExceptionHandler(UncaughtExceptionHandler eh)

Теперь установите пользовательскую переменную unCaughtExceptionHandler в качестве параметра для этого метода.

При следующей загрузке приложения просто загрузите sharedPref isCrash. Если это так, покажите экран «о нет, приложение упало» и снова установите для isCra sh значение false.

Когда значение isCrash равно false, просто загрузите обычное действие

Надеюсь, это поможет!

...