У меня есть действие, которое при запуске должно проверять подлинность пользователя.Если нет, мне нужно отобразить интерфейс для аутентификации.Я делаю это с другим действием, которое имеет тему диалога, и я запускаю его в onResume () с флагами NO_HISTORY и EXCLUDE_FROM_RECENTS.
Все отлично работает при первом запуске приложения.Но у меня есть функция, которая сбрасывает логин через некоторое время, если пользователь не в активности.Когда я проверяю это, я запускаю приложение, вводю пароль, затем возвращаюсь домой.Затем, когда я снова вхожу в приложение, фон темнеет, как если бы диалоговое окно отображалось, но это не так.
В этот момент, если я нажимаю кнопку «Назад», затемнение от фоновой активности исчезает дляво-вторых, затем, наконец, появляется диалоговое окно.
Я использовал logcat для расследования случая, и функции жизненного цикла действия вызываются правильно:
//For the first start:
onCreate background activity
onStart background activity
onResume background activity
onPause background activity
onCreate dialog
onStart dialog
onResume dialog
//Enter password
onPause dialog
onResume background activity
onStop dialog
onDestroy dialog
//navigating to homescreen
onPause background activity
onStop background activity
//starting again
onRestart background activity
onStart background activity
onResume background activity
onPause background activity
onCreate dialog
onStart dialog
onResume dialog
//no dialog shown, only darkened background activity recieving no input
//pressing back button
onPause dialog
onResume background activity
onPause background activity
onCreate NEW dialog
onStart NEW dialog
onResume NEW dialog
onStop OLD dialog
onDestroy OLD dialog
//now the dialog is properly shown
//entering password
onPause NEW dialog
onResume background activity
onStop NEW dialog
onDestroy NEW dialog
Использование флага SINGLE_TOP не изменится.Однако, если я удаляю тему диалога из действия диалога, она отображается после перезапуска.
До сих пор я не хотел использовать диалог вместо действия, потому что я иногда считаю их проблемными и менее проблемнымизаключен в капсулу, и эта часть должна быть довольно безопасной.Вы можете убедить меня, хотя ..
Спасибо заранее!