작동하지 의도 플래그 사용자가 어떤 작업을 수행 할 경우 활동 A가 다음 사용자가 다음 사용자가 활동 리디렉션해야 D에서 다음 작업 B 후 작업 C 활동 D.로 이동 돌아 가기 스택 그리고 내 응용 프로그램 런처
E.
입니다 A-> B-> C-> D-> E이제 활동 E에서 뒤로 버튼을 누르면 활동 A로 이동해야합니다. 어떻게 목표 플래그를 설정하여 목표를 달성 할 수 있습니까?
작동하지 의도 플래그 사용자가 어떤 작업을 수행 할 경우 활동 A가 다음 사용자가 다음 사용자가 활동 리디렉션해야 D에서 다음 작업 B 후 작업 C 활동 D.로 이동 돌아 가기 스택 그리고 내 응용 프로그램 런처
E.
입니다 A-> B-> C-> D-> E이제 활동 E에서 뒤로 버튼을 누르면 활동 A로 이동해야합니다. 어떻게 목표 플래그를 설정하여 목표를 달성 할 수 있습니까?
당신이 시도 할 수 있습니다 ..
@Override
public void onBackPressed() {
// your code.
Intent intent = new Intent(this, A.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
}
시도 사전에
감사합니다,
@Override
public void onBackPressed() {
Intent intent = new Intent(E.this, A.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
finish();
}
여기에'NEW_TASK'는 필요 없습니다. 'CLEAR_TOP '이면 충분합니다. –
사용이
@Override
public void onBackPressed() {
Intent intent = new Intent(this, A.class);
startActivity(intent);
finish();
}
이것은'E'의 기존 인스턴스 위에'A'의 또 다른 인스턴스를 시작합니다. OP가 원하는 것이 아닌 것 같습니다. –
읽기 https://developer.android.com /training/implementing-navigation/ancestral.html 및 https : // developer .android.com/design/patterns/navigation.html – Raghunandan
'finish();'다른 활동으로, 활동 A로 직접 돌아가는 경우입니다. –
B-> E부터 그냥 의도를 전환 할 때 끝내기를 호출합니다 .. E를 다시 누르면 A가 스택에 있습니다. –