Как закрыть целую иерархию действий и показать новую активность, отсутствующую в текущей задаче?Закрыть иерархию активности в Android
Контекст
Рассмотрим FTP-браузер, который возобновляет предыдущую сессию запуска. Каждая папка отображается в ее собственной деятельности. Когда я нажимаю на папку, в папке запускается новое действие. Если я нажму кнопку «Назад», приложение вернется к предыдущему действию, которое соответствует родительской папке.
Я могу выйти из меню в любое время. Выход из системы должен привести меня к активности входа (не отображаться текущая задача, когда приложение возобновило сеанс) и закрыть все остальные действия. Как я могу это сделать?
Из того, что я прочитал, если деятельность была в текущей задаче, я мог бы использовать FLAG_ACTIVITY_CLEAR_TOP
в намерении, но это не мое дело.
Спасибо, бхуп! Это то, что мы делаем прямо сейчас (наша константа называется RESULT_KILLER_VIRUS: P), но она казалась ужасно сложной и подверженной ошибкам. Надеюсь, что есть лучшее решение. – hpique
Как насчет использования ActivityGroup совместно с LocalActivityManager? У вас может быть LoginActivity и FolderActivityGroup. Используйте LocalActivityManager для запуска FolderActivity, и когда пользователь выходит из системы, вы можете уничтожить все действия в FolderActivityGroup, вызвав LocalActivtyManager.removeAllActivities(). – bhups