2011-02-09 5 views
4

현재 태스크 스택에 A0, A1, B0, C0, 스택 상단에 C0이라는 네 가지 활동 인스턴스가 있다고 가정합니다. A0, A1은 활동 A의 인스턴스이고 B0는 활동 B의 인스턴스이며 C0는 활동 C0의 인스턴스입니다.여러 활동 인스턴스 및 FLAG_ACTIVITY_REORDER_TO_FRONT

지금 C0는 FLAG_ACTIVITY_REORDER_TO_FRONT와 의도를 만들고 활동을 시작합니다

Intent intent = new Intent(this, A.class); 
intent.setFlag(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT); 
startActivity(intent); 

내 질문은 앞, A0 또는 A1에 가져 될 경우,인가? 작업 스택이 A0, B0, C0, A1 또는 A1, B0, C0, A0이됩니까?

감사합니다.

답변

2

가장 최근의 인스턴스이 앞으로 오게된다는 경험적 증거가 있습니다. 당신의 예에서, 경우 활동 스택이처럼 시작합니다

A0, A1, B0, C0 (front of task) 

및 C0가 Intent.FLAG_ACTIVITY_REORDER_TO_FRONT있는 시작 예 A1 전면 지금은 활동 스택 데려은 다음과 같습니다

A0, B0, C0, A1 

이 플래그를 사용하면 Android는이 액티비티의 인스턴스를 찾습니다 (작업의 앞에서 시작하여 작업의 백/루트까지 스캔). 발견 된 첫 번째 사례가 앞으로 나옵니다. 액티비티 스택에서 인스턴스를 찾지 못하면 액티비티 스택을 새로 만듭니다.

관련 문제