안드로이드에서 Activity 여러개를 계속 Intent로 넘기다보면, 이전의 Activity 들이 없어지지 않고 남아 있기 때문에 Back key 처리 등의 문제가 발생할 수 있다.
1. 접근해서는 안되는 이전화면으로 돌아가버리는 문제
Intent 생성 후
// 기존에 쌓인 모든 Stack을 없앤다.
intent.addFlags(intent.FLAG_ACTIVITY_CLEAR_TASK);
// 새로운 TASK를 생성, 이 때 Root activity는 새로 생성한 Activity
intent.addFlags(intent.FLAG_ACTIVITY_NEW_TASK);
2. 이전의 화면으로 돌아가야하는 문제
Intent 생성 후
//이전 Activity를 새로운 Activity로 지정하고 현재 Activity는 Clear하는 Flag 상수
intent.addFlags(intent.FLAG_ACTIVITY_CLEAR_TOP);
※ 2번은 Manifest 파일에 android:launchmode="singleTop"을 추가해주면 비슷하게 문제해결 가능