프로그래밍 공부/Etc

[메모] activity launchMode 삽질

뚜벅이! 2020. 10. 5. 14:54
728x90

우선 필요로 하는기능은, activity stack에서 중복된 activity가 호출했을때,

기존에 등록되어있던 동일한 activity를 지우고, 새로 스택에 쌓고싶었다.

 

나의 경우는 activity가 이런식으로 호출되는 경우였는데,

A - B - C - D - B
마지막 B를 호출했을때 원하는 결과는

A - C - D - B

이고,

B를 호출하지 않을 경우에는

A - B - C - D

가 유지되는 경우였다.

 

 

왠지 launchMode에서 해결할 수 있겠다 싶어서

 

 

launchMode를 singleTask로 실행해보니..
A - B

(이전에 있었던 자리로 되돌아감 이후 스택 제거후 B의 onResume 호출)

 

 

 

singleTop으로 실행해보니

A - B - C - D - B

(기존 스택 지워지지 않음)

 

 

singleInstance는 싹다지워버리기때문에 하지않았고,
FLAG_ACTIVITY_CLEAR_TOP 값또한 RootActivity위에 스택이 필요했기때문에 하지않았다..

 

 

 

별로 하고싶지 않은 코드 방식이지만

결국.. Intent 값에 따른 분기문을 두어서 해결 :(

728x90