2012-08-25 7 views
5

이 방법을 사용하면 로그인 페이지로 돌아가지만 여전히 돌아 가기 버튼을 클릭하면 이전 활동으로 돌아갑니다. 왜 다른 활동을 끝내지 않습니까?하나만 제외한 모든 작업 완료

public void restartApplication() { 
     Intent i = getBaseContext().getPackageManager().getLaunchIntentForPackage(getBaseContext().getPackageName()); 
     i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
     startActivity(i); 
    } 

로그인 활동을 제외한 모든 활동을 완료 할 수있는 방법이 있습니까? 또는 전체 앱을 다시 시작 하시겠습니까?

답변

0

finish();startActivity(i); 뒤에 넣으십시오.

3

패키지 관리자 때문에 활동이 새로운 기록 스택에서 시작한다고 생각합니다.

패키지 관리자에서 가져 오는 대신 활동 이름을 사용해보십시오. 예 :

Intent i = new Intent(getApplicationContext(), LoginActivity.class); 
i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
startActivity(i); 
0

이 intent.setFlags (Intent.FLAG_ACTIVITY_CLEAR_TOP)를 사용해보십시오. intent.addFlags (Intent.FLAG_ACTIVITY_CLEAR_TOP);

Intent intent = new Intent(getApplicationContext(), 
     yourActivity.class); 
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 

startActivity(intent);