2015-01-22 4 views
4

A-> B-> C-> D-> E와 같은 스택이 있다고 가정 해 봅시다. E에서 E, D, C를 시작하고 F를 시작하는 액션이 ​​있습니다. 그래서 A- > B-> F.안드로이드 어떻게 활동 백 스택 "트리"의 "다른 지점으로 이동"할 수 있습니까?

어떻게 이러한 백 스택을 구축 할 수 있습니까? startActivity B와 FLAG_ACTIVITY_CLEAR_TOP을 startActivity F 뒤에 사용할 수 있습니까? F를 추가하기 전에 첫 번째 startActivity가 E를 닫지 않았습니까? 예를 들어 내가 A-> B-> C를 가질 수 있고 C의 동작이 A-> D-> E로 변경할 수 있습니까? TaskStackBuilder와 함께 PendingIntent를 사용하여 그렇게 할 수 있습니까?

미리 감사드립니다. (, BTW이 내 첫 번째 질문은 여기!)

답변

0

B에 다시 스택을 취소하고 F을 시작,이하려면 :

if (intent.hasExtra("startF") { 
    Intent startF = new Intent(this, F.class); 
    startActivity(startF); 
} 

당신을 :

Intent intent = new Intent(this, B.class); 
intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP | Intent.FLAG_ACTIVITY_CLEAR_TOP); 
intent.putExtra("startF", true); 
startActivity(intent); 

B.onNewIntent()에서이 작업을 수행 이 개념을 곳곳에서 사용하여 특정 액티비티로 돌아가서 실행할 액티비티를 알릴 수 있습니다.

+0

아, 알겠습니다. 답장을 보내 주셔서 감사합니다! –