Если в операции (или услуге) есть необработанное исключение, действие принудительно закрывается и отображается предыдущая активность приложения. Если последнее действие вызывает сбой, приложение закрывается.
Что вы можете сделать, чтобы обнаружить эту ситуацию, это зарегистрировать global-uncaught-exception-handler , который записывает `firebaseException = true" в файл / app-settings, если исключение происходит из firebase перед вызовом предыдущий глобальный обработчик исключений.
В каждом Activity-s onCreate
вы можете загрузить firebaseException
и действовать согласно (не забудьте написать firebaseException=false
после.
Я никогда не работал с Crashlytics, но я предполагаю, что он также подключается к обработчику uncaught-exception-handler, поэтому важно, чтобы Crashlytics инициализировался до того, как вы установили свой собственный обработчик, и чтобы ваш обработчик вызывал предыдущий обработчик uncaught-exception-handler, когда закончите