Заметил такую проблему - нет возможности провести транзакцию в fragment manager после вызовов onPause/onStop так как он уже сохранил свое состояние. Можно использовать commitAllowingStateLoss но это не подходит.
Вот обычный флоу:
1) юзер нажимает кнопку логин, посылается запрос на бек
2) этот момент юзеру позвонили, наше приложение в фоне
3) запрос отработал и приложение пытается открыть следующий фрагмент - неудача (fragment manager уже сохранил стейт)
Как лучше и универсальнее решить такую проблему? Решение в лоб: если транзакция не прошла, сохранять какой-то флаг, и после возврата в приложение проверять флаг и открывать другой фрагмент (если надо)...
Я для решения подобного кейса подключил Cicerone
onPostResume отличное решение
Обсуждают сегодня