2017-11-23 3 views
0

작동하지 의도 플래그 사용자가 어떤 작업을 수행 할 경우 활동 A가 다음 사용자가 다음 사용자가 활동 리디렉션해야 D에서 다음 작업 B 후 작업 C 활동 D.로 이동 돌아 가기 스택 그리고 내 응용 프로그램 런처

E.

입니다 A-> B-> C-> D-> E

이제 활동 E에서 뒤로 버튼을 누르면 활동 A로 이동해야합니다. 어떻게 목표 플래그를 설정하여 목표를 달성 할 수 있습니까?

+1

읽기 https://developer.android.com /training/implementing-navigation/ancestral.html 및 https : // developer .android.com/design/patterns/navigation.html – Raghunandan

+1

'finish();'다른 활동으로, 활동 A로 직접 돌아가는 경우입니다. –

+1

B-> E부터 그냥 의도를 전환 할 때 끝내기를 호출합니다 .. E를 다시 누르면 A가 스택에 있습니다. –

답변

1

당신이 시도 할 수 있습니다 ..

@Override 
public void onBackPressed() { 
    // your code. 
    Intent intent = new Intent(this, A.class); 
    intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
    startActivity(intent); 
} 
0

시도 사전에

감사합니다,

@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(); 
} 
+0

여기에'NEW_TASK'는 필요 없습니다. 'CLEAR_TOP '이면 충분합니다. –

0

사용이

@Override 
public void onBackPressed() { 
    Intent intent = new Intent(this, A.class); 
    startActivity(intent); 
    finish(); 
} 
+0

이것은'E'의 기존 인스턴스 위에'A'의 또 다른 인스턴스를 시작합니다. OP가 원하는 것이 아닌 것 같습니다. –