안드로이드
Intent.FLAG_ACTIVITY_NEW_TASK, Intent.FLAG_ACTIVITY_CLEAR_TASK 동작이 안할 때 추가할 것
boribob
2016. 12. 11. 21:01
출처 : http://androidarena.co.in/how-to-clear-or-kill-stack-of-activity-android/
Intent intent = new Intent(getApplicationContext(), NewActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);startActivity(intent);
새로운 액티비티 스택을 지우면서 새로운 액티비티를 생성하려면 인텐트에 플래그에 입력한다.
인터넷에서는 작동하는 경우도 있다.
하지만 어떤경우에서 작동이 안하는 경우가 있는데 아마 백그라운드에서 애니메이션처리같이 계속 동작하는 액티비티는 중지하지 않는 것 같다.
이런 경우 AndroidManifests.xml에 지워야 할 액티비티에 아래와같이 추가하면 된다.
android:noHistory="true"
위와 같이 추가하고 실행하면 액티비티 스택에 저장되지 않는다.
http://stackoverflow.com/a/21375102
위의 링크에서도 finish() 보다는 더 적절한 noHistory 설정을 적용시키는게 옳다고 나온다.