안드로이드 액티비티(startActivity,intent,task) 관련 질문

조회수 615회

안드로이드 액티비티가 A B C가 있을때 A, B는 한개만 존재해야하고, C는 여러번 쌓을 예정입니다.

A -> C -> C -> B -> C -> C -> B -> C 순으로 호출했을때

A C C C C B C 로 남고, 순차적으로 종료하면 역순으로 가게 하고 싶은데

1.FLAG_ACTIVITY_REORDER_TO_FRONT 를 사용해서 B를 재호출해도 도큐먼트대로 기존 B가 최상단으로 당겨지지가 않습니다. (A C C B C C B C 이대로 남음)

2.launchMode 중 singleTask를 활용하면 A C C B C' C' 이후 B를 호출할때 기존의 B C C가 날아가면서 A C C B C' C' (B')시도시 A C C B'가 되버립니다.

3.어떻게든 FLAG_ACTIVITY_REORDER_TO_FRONT를 활용해서 B 액티비티만 앞으로 당겨올수 있으면 되는데 문서를 참조해봐도 미작동하는 이유를 모르겠습니다.

C는 FLAG_ACTIVITY_REORDER_TO_FRONT를 setFlag해서 startActivity하는 중이고, A,B는 특별한 설정을 주고있지 않습니다.

혹시라도 아시는 분 답변 부탁드립니다.

+++ 추가

intent = new Intent(this, SubActivity.class);
intent.putExtra("data", data);
intent.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);

해당하는 코드인데, getIntent부분에서 intent flag값을 찍으면 new_task도 같이 찍혀나옵니다. 해당 내용은 도큐먼트 문서에 없는 내용인데 이게 문제인거같은데 어떻게 처리해야할까요? removeflag로는 해결안되고 api버전이 너무 높습니다.

  • (•́ ✖ •̀)
    알 수 없는 사용자

1 답변

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)