4

스택의 이전 활동을 모두 지우는 방법을 알고 싶습니다.하지만 안드로이드 API 10 (Android 2.3.3). 안드로이드 API 10 (안드로이드 2.3.3)에서 스택을 다시 청소하는 방법

answer과 가이드, 나는 플래그가해야 할 최선을 다하고 있기 때문에 직접 수 없습니다 알고는 API (11)

부터 존재하지만 일부 호환성 어쩌면 가능한 경우, 또는 내가 알고 싶은 사람이있는 경우 모든 솔루션.

미리 감사드립니다.

+0

언제든지이 작업을 수행 하시겠습니까? 또는 특정 상황에서만. 새로운 액티비티를 시작할 때 ativities가 사라지 길 원한다면, 다음 액티비티에 대해'startActivity()'를 호출 할 때 현재 액티비티에서'finish()'를 호출 할 수 있습니다. –

답변

5

을 유지하지 않으려는 각 활동에 noHistory이 = "사실은"항상 startActivityForResult()를 사용하여 활동을 시작하는 것입니다. 액티비티 스택을 정리하려면 현재 액티비티를 setResult(RESULT_CANCELED)으로 호출 한 다음 finish()으로 호출하십시오. 이 스택의 모든 활동을 마무리한다

@Override 
protected void onActivityResult (int requestCode, int resultCode, Intent data) { 
    if (resultCode == RESULT_CANCELED) { 
     // Want to clear the activity stack so I should just go away now 
     setResult(RESULT_CANCELED); // Propagate result to the previous activity 
     finish(); 
} 

: (주 또는 "루트"활동을 제외한) 모든 활동에서 다음과 같은 방법이있다.

+0

@David Wasser, 고맙습니다! –

+0

영리한 해결책. 완벽하게 작동합니다! – Mahm00d

0

당신은 매니페스트 파일 안드로이드에 추가 할 수 있습니다 :이 작업을 수행하는 방법에 스택

+1

이것은 일반적으로 나쁜 생각입니다. 이렇게하면 사용자가 "BACK"키를 사용하여 이전 활동으로 돌아 가지 않습니다. 또한 사용자가 응용 프로그램에서 (예를 들어 전화 통화에 응답하기 위해) 탐색하는 경우, 그는 자신이 있던 곳에있는 응용 프로그램으로 돌아갈 수 없습니다. 그것은 다시 처음부터 시작됩니다. 권장하지 않습니다. –

관련 문제