2012-04-27 3 views
3

4 개 또는 5 개의 활동이있는 신청서가 있습니다. A, B, C, D, E라고합시다.서로 상호 작용하는 여러 활동을 처리하는 방법은 무엇입니까?

모든 활동에서 다른 모든 활동으로 점프하는 것이 가능합니다! > B - -> E -

는 사용자가 간다 말할 수 있습니다> D.

지금 그는 (다시) B를 엽니 다하고자합니다. 이제는 응용 프로그램이 활동 스택에 어딘가에 하나의 활성 B가 있음을 인식하고 다시 활성화 (또는 이전 B를 완료하고 새 B를 작성)해야합니다.

새 액티비티를 만들 때 모든 액티비티를 마치고 싶지 않습니다. 사용자가 종종 백 버튼을 사용하기 때문입니다.

가능한 해결책은 다음과 같습니다. 직접 활동 스택을 만들고 번들로 처리하거나 정적 구조를 사용합니다.

하지만 훨씬 간단하고 멋진 방식이 있어야합니다.

도움 주셔서 감사합니다.

+0

['FLAG_ACTIVITY_CLEAR_TOP'] (http://developer.android.com/reference/android/content/Intent.html#FLAG_ACTIVITY_CLEAR_TOP)이 필요하지 않습니까? –

+0

@ a.ch. 그는 정반대의 것을 원한다. CLEAR_TOP은 A -> B -> E -> D -> B를 A -> B로 변경합니다 (스택 맨 위를 지 웁니다). – toto2

답변

3

매니페스트의 실행 모드 태그에 singleInstance 값 또는 singleTask 값을 사용할 수 있습니다.

According to android developers fundamentals

singleTasksingleInstance 모드

android:launchMode=["multiple" | "singleTop" |"singleTask" | "singleInstance"]

은 서로 하나 개의 점에서 다르다 :

singleTask 활동이 다른 활동은 그 작업의 일부가 될 수있다. 그것은 항상 업무의 근원이지만 다른 활동 (필히 standardsingleTop 활동)을 해당 업무에 착수 할 수 있습니다.

singleInstance 활동은 다른 활동이 그 타스크의 일부가 될 수 없도록합니다. 그것은 작업의 유일한 활동입니다. 다른 활동이 시작되면 해당 활동은 다른 작업에 할당됩니다 (예 : FLAG_ACTIVITY_NEW_TASK).

+1

안녕하세요 VidaLux! 그것은 해결책 인 것처럼 보인다! 다음 주에 그걸 확인해 볼게! 고마워. – Michael

관련 문제