-
[Android/Kotlin] 인텐트 플래그(Intent Flag)Android/Kotlin 2022. 10. 20. 13:23반응형
[모든 포스팅은 개인적 공부를 위해 작성된 글입니다]
<Intent Flag란?>
- 액티비티 중복을 방지하거나 흐름을 제어하고 싶을 때 사용하는 것
<Flag 사용법>
1. AndroidManifest에서 사용하는 방법
<activity android:launchMode="singleTop"
https://jeong-yeon.tistory.com/120
2. Kotlin 코드로 작성하는 방법
- 1. addFlags()
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)
- 2. setFlags()
val intent = Intent() intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)
- addFlags()와 setFlags()의 차이 : addFlags()는 기존의 flag에 새로운 flag를 붙이는 반면, setFlags()는 오래된 flag 전체를 새로운 flag로 대체
<대표적인 Flag 종류>
- 1. FLAG_ACTIVITY_CLEAR_TOP : 호출하려는 액티비티가 스택에 존재하는 경우, 해당 액티비티를 최상위로 올리면서 그 위에 존재하던 액티비티 모두 삭제
- 2. FLAG_ACTIVITY_SINGLE_TOP : Top Activity 실행 시, 해당 액티비티를 다시 생성하지 않고 기존의 Top Activity 재사용
- Root Activity : 현재 스택의 가장 아래에 있는 액티비티
- Top Activity : 현재 스택의 가장 위에 있는 액티비티
- 3. FLAG_ACTIVITY_NO_HISTORY : 액티비티가 스택에 쌓이지 않도록 함
*참고*
https://kylblog.tistory.com/21
https://codinghero.tistory.com/133
반응형'Android > Kotlin' 카테고리의 다른 글
[Android/Kotlin] 어플리케이션 클래스(Application Class) (0) 2022.10.21 [Android/Kotlin] onSaveInstanceState()와 onRestoreInstanceState() (0) 2022.10.19 [Android/Kotlin] 커스텀 뷰(Custom View) (0) 2022.10.18 [Android/Kotlin] Glide 라이브러리 사용 방법 (0) 2022.09.12 [Android/Kotlin] MaterialCalendarView 커스텀 (0) 2022.09.08