FLAG_ACTIVITY_SINGLE_TOP
์กํฐ๋นํฐ ์คํ์์ ์ต์๋จ์ ์๋ ์กํฐ๋นํฐ์ ์ ํ ๋ ์กํฐ๋นํฐ๊ฐ ๊ฐ์ ๋, ์๋ก์ด ์ธ์คํด์ค(์ธํ
ํธ)๋ฅผ ์์ฑํ์ง ์๊ณ , ์คํ์ ์๋ ์กํฐ๋นํฐ์ ์ธํ
ํธ๋ฅผ ํตํด ์ฌ์ฌ์ฉํ๋ ๊ฒ์ ์๋ฏธ.
์กํฐ๋นํฐ๋ฅผ ์ฌ์ฌ์ฉํ๋ ๊ฒ์ด๊ธฐ ๋๋ฌธ์, onCreate() ์ฝ๋ฐฑ๋ถํฐ ์คํ๋๋ ๊ฒ์ด ์๋๋ผ onNewIntent() ์ฝ๋ฐฑ์ ํตํด, ๊ธฐ์กด ์กํฐ๋นํฐ์ intent ์ ๋ณด๋ฅผ ๋ฐ์ onResume() ์ฝ๋ฐฑ์ผ๋ก ํธ์ถ๋จ
onNewIntent() -> onResume()
ํ์ฌ ๋์ ๋ณด์ด๋ ์กํฐ๋นํฐ๋ ์ด๋ฏธ ์กํฐ๋นํฐ ์คํ์ ์ ์ฌ๋ ์ํ์ด๋ฉด์, ๊ฐ์ฅ ์ต์๋จ์ ์๋ ์ํ(๋์ ๋ณด์ด๋ ์ํ)์
FLAG_ACTIVITY_CLEAR_TOP
ํ์ฌ ๋ถ๋ฌ์ฌ ์กํฐ๋นํฐ๊ฐ B์ธ๋ฐ, ์ด๋ฏธ ์คํ์ ์กด์ฌํ๋ค๋ฉด B๋ฅผ ํฌํจํ ๋ชจ๋ ์กํฐ๋นํฐ๋ค์ popํด๋ฒ๋ฆฌ๊ณ ์๋ก ํธ์ถํ B ์กํฐ๋นํฐ๋ฅผ ์คํ ์ต์๋จ์ผ๋ก ์ง์ ํ๋ ๊ฒ์ ์๋ฏธ
์๋กญ๊ฒ ์ธ์คํด์ค๋ฅผ ์์ฑํ๋ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ ์ intent๋ฅผ ๊ฐ๋ ์กํฐ๋นํฐ๋ฅผ ์์ฑํ๊ฒ ๋จ. ๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ๋ผ์ดํ ์ฌ์ดํด๋ onCreate() -> onResume() ๋ก ํธ์ถ์ด ๋จ. ๋ฐ๋๋ก ํธ์ถํ๋ ค๋ ์กํฐ๋นํฐ๊ฐ ์คํ์ ์์ผ๋ฉด ๊ธฐ๋ณธ์ ์ธ intent ๋์์ ํ๊ฒ๋จ
Intent.FLAG_ACTIVITY_SINGLE_TOP or Intent.FLAG_ACTIVITY_CLEAR_TOP
๋์ ํจ๊ป ์ฌ์ฉํ๋ฉด, ์์ํ๋ ค๋ ์กํฐ๋นํฐ๊ฐ ์ด๋ฏธ ์คํ์ ์กด์ฌํ๋ ๊ฒฝ์ฐ ์๋ก์ด ์ธ์คํด์ค๋ฅผ ์์ฑํ์ง ์๊ณ ๊ธฐ์กด ์ธ์คํด์ค๋ฅผ ์ฌ์ฌ์ฉํ๋ฉด์, ํ์์ ๋ฐ๋ผ ํด๋น ์กํฐ๋นํฐ ์์ ์๋ ๋ค๋ฅธ ์กํฐ๋นํฐ๋ค์ ์ ๊ฑฐํ ์ ์์.
์์ํ๋ ค๋ ์กํฐ๋นํฐ๊ฐ ์คํ ์ต์๋จ์ ์๋ ๊ฒฝ์ฐ: FLAG_ACTIVITY_SINGLE_TOP์ ํจ๊ณผ๋ก ์๋ก์ด ์ธ์คํด์ค๊ฐ ์์ฑ๋์ง ์๊ณ ๊ธฐ์กด ์ธ์คํด์ค๊ฐ ์ฌ์ฌ์ฉ๋จ. FLAG_ACTIVITY_CLEAR_TOP์ ์๋ฌด๋ฐ ์ํฅ์ ๋ฏธ์น์ง ์์.
์์ํ๋ ค๋ ์กํฐ๋นํฐ๊ฐ ์คํ ์ค๊ฐ์ ์๋ ๊ฒฝ์ฐ: FLAG_ACTIVITY_CLEAR_TOP์ ํจ๊ณผ๋ก ํด๋น ์กํฐ๋นํฐ ์์ ์๋ ๋ชจ๋ ์กํฐ๋นํฐ๊ฐ ์ ๊ฑฐ๋จ. ๊ทธ๋ฆฌ๊ณ FLAG_ACTIVITY_SINGLE_TOP์ ํจ๊ณผ๋ก ์๋ก์ด ์ธ์คํด์ค๊ฐ ์์ฑ๋์ง ์๊ณ ๊ธฐ์กด ์ธ์คํด์ค๊ฐ ์ฌ์ฌ์ฉ๋จ.
๋ฉ์ธ(A) -> ํธ์ง(B) -> ์ธ์ฆ์
๋ ฅ(C) -> ์ธ์ฆ์๋ฃ(D) -> ํธ์ง(B)์ผ๋ก ์ด๋ํ๋ ๊ฒฝ์ฐ,
FLAG_ACTIVITY_SINGLE_TOP๊ณผ FLAG_ACTIVITY_CLEAR_TOP์ ํจ๊ป ์ฌ์ฉํ๋ฉด ๊ธฐ์กด ํธ์ง(B) ์์ ์๋ C์ D์กํฐ๋นํฐ๊ฐ ์ ๊ฑฐ๋๊ณ ๊ธฐ์กด ํธ์ง(B)์ด ์ต์๋จ์ผ๋ก ์ค๊ฒ๋จ
๋ฉ์ธ(A) -> ๊ธฐ์กด ํธ์ง(B)
๋๋ฌธ์ ๊ธฐ์กด ํธ์ง(B)์์ ๋ค๋ก๊ฐ๊ธฐ๋ฅผ ๋๋ ์์, ๋ฉ์ธ(A) ํ๋ฉด ๋
ธ์ถ
๋ฉ์ธ(A) -> ์ธ์ฆ์
๋ ฅ(B) -> ์ธ์ฆ์๋ฃ(C) -> ํธ์ง(D)์ผ๋ก ์ด๋ํ ๋, ํธ์ง(D)์์ ๋ค๋ก๊ฐ๊ธฐ๋ฅผ ๋๋ ์์ ๋ฉ์ธ(A)์ผ๋ก ๋จ์ด์ง ๊ฒ์ ๊ธฐ๋ํ ๋
์ธ์ฆ์
๋ ฅ(B), ์ธ์ฆ์๋ฃ(C) ์กํฐ๋นํฐ๋ฅผ Manifest์ taskAffinity
์ ์ง์ ํ์ฌ C์์ D๋ก intent ์ด๋ํ ๋ finishAffinity()
๋ฅผ ํธ์ถํ์ฌ affinity๋จ์๋ก ์คํ์์ ์ ๊ฑฐํจ