에서 B 내가 스택에서 활동 A-> B가 있어야하고, 활동 C를 시작, 내가이 모든 작품을 잘활동을 닫은 후 안드로이드가 더 이상 스택
Intent starter = new Intent(context, MainActivity.class);
starter.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP);
context.startActivity(starter);
를 호출하지 활동으로 돌아갑니다, 활동 A와 B는 모두 OnDestroy를 호출합니다. 지금 하드웨어 '뒤로'버튼을 누르면 활동이 적절히 끝나고 숨겨집니다. 그러나 문제는 이제 하드웨어 최근 응용 프로그램 버튼을 클릭하여 응용 프로그램을 통해 응용 프로그램으로 돌아 가면 활동 A로 돌아갑니다. 활동이 파괴되었지만 스택에 없습니다. 매니 페스트에서는 android : launchMode가 설정된 활동이 없으므로 기본값으로 설정됩니다.
유일하게 가능한 다른 관련 정보는 실행기 활동 인 android : launchMode = "singleInstance"인 활동 X가 있고 그것이 파괴되면서 활동 A를 시작한다는 것입니다. 어쨌든 그 활동 스택에 있어야합니다.
위에 작성된 코드로 덮어 쓸 수 있습니다. 스택에 코스보다 아무것도없는 경우 Launcher Activity가 호출됩니다 (Activity A를 호출하는 것보다). 그래서 당신은 어떤 일이 일어날 것으로 예상 하는지를 말해 줄 수 있습니까? – AabidMulani
죄송 합니다만 조금 혼란 스럽지만 마지막 단락에 설명되어 있습니다. 활동 X는 실제로 시작 활동이며 singleInstance이며 다른 활동은 해당 활동에서 시작할 수 없습니다. 활동 A를 실행 한 다음 완료합니다. 따라서 액티비티 X가 다시 시작되면 액티비티 A가 시작되므로 액티비티 A가 시작됩니다. –