Android/Task
Task (5.4) - Activity 정리 [FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET & FLAG_ACTIVITY_RESET_TASK_IF_NEEDED]
parkho79
2019. 5. 15. 09:55
728x90
FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET
해당 속성으로 쌓여진 activity 는 태스크가 백그라운드에서 포그라운드로 변할 때
FLAG_ACTIVITY_RESET_TASK_IF_NEEDED 속성이 설정되어 있다면 task 에서 정리된다.
FLAG_ACTIVITY_RESET_TASK_IF_NEEDED
적절한 경우(task 내에 정리해야 할 activity 가 있다면)에 task 를 리셋.
Task 의 affinity 에 맞춰 리셋이 발생.
새로 task 를 시작하거나 백그라운드에서 포그라운드로 올라오는 경우가 아니면 영향을 주지 않는다.
사용자가 홈스크린이나 최근 실행 목록에서 태스크를 시작할 경우 시스템이 설정
Example
1. A -> B activity 를 활성화 한다.
2. C activity 를 활성화 할 때 "FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET" 속성을 적용한다.
3. D activity 를 활성화 한다.
4. 백그라운드로 전환한다.
5. 그라운드에서 포그라운드로 전환되면서 "FLAG_ACTIVITY_RESET_TASK_IF_NEEDED" 속성을 적용한다.
- 홈스크린에서 해당 앱 다시 진입
- D activity(""FLAG_ACTIVITY_RESET_TASK_IF_NEEDED" 적용) 를 호출하는 app 을 click
Code
A activity
B activity
C activity
Manifest
728x90