2

내 안드로이드 응용 프로그램에서 나는 카페를 먼저 검색합니다. 사용자가 하나의 카페를 선택하면 다음 활동에서 그것에 대한 자세한 정보를 보여줍니다. 그런 다음 사용자는 카페의지도를 볼 수 있습니다. 사용자가 완료 버튼을 클릭하면 사용자를 첫 번째 활동 인 검색 결과로 리디렉션해야합니다. 그러면 어떻게해야합니까? finish() 메서드를 호출하면 현재 액티비티 만 닫힙니다.3 단계로 이동하는 방법 이전 활동 android?

미리 감사드립니다.

답변

11

계속하기 당신이 모든 활동의 마무리()을 사용하거나이 플래그 FLAG_ACTIVITY_CLEAR_TOP에 첫 활동을 시작하고 웁니다 모든 상단 첫 번째 활동의 활동과는 다음과 같이 top.Use에 첫 번째 활동을 가져올 것이다 :

Intent intent = new Intent(this, yourFirstActivity.class); 
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
startActivity(intent); 
0
Intent.FLAG_ACTIVITY_CLEAR_TOP 

은 첫 번째 활동을 제외하고 모든 작업을 지 웁니다. 이는 제대로 작동해야합니다.

Android Application Developer Forum에 따르면 당신은 다음과 같은 방식으로이 활동을 시작한다 : -

startActivity(intent); 
0

을 위해 사용자가 여전히 하나

대신 Intent.FLAG_ACTIVITY_CLEAR_TOP

를 사용하지 말아야 이전 활동 B로 반환 할 수 액티비티 B는 startActivityForResult (... C ...)를 사용해야합니다. 그리고 동일한 액티비티 B는 onActivityResult()를 사용하여 결과를 확인하고 액티비티 C에서 DONE을 클릭하면 완료해야합니다. 그러나 액티비티 C에서 반환 만 클릭하면 활동 B는 정상적으로 나타납니다.

2
//DOES NOT FINISH ALL ACTIVITY 

Intent intent=new Intent(); 
intent.setFlags(Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT); 


//FINISH ALL ACTIVITY WHICH IS IN STACK ABOVE TARGET ACTIVITY 

intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
+2

CLEAR TOP을 사용한 후에는 위에있는 모든 활동을 다시 시작할 수 없습니다. 감사 – SALMAN