2011-01-28 3 views
1

나는 사용자의 흐름을 간단하게 호출하는 활동을 유지하려고합니다. 히스토리 스택에 항상 하나의 액티비티 인스턴스가 있습니다.활동을 스택 맨 위로 가져 와서 재설정하는 방법은 무엇입니까?

깃발 FLAG_ACTIVITY_REORDER_TO_FRONT을 사용하면 완벽합니다. 하지만 약간의 문제가 있습니다.

활동이 전면에오고 onCreate()가 이미 시작된 경우 호출되지 않습니다. 의미가 있지만 나는 onCreate()를 호출하는 동작을 원한다.

도움 주셔서 감사합니다.

-Jona

답변

2

어쩌면 당신을 위해 무엇을 검색하는 방법 onNewIntent()이다. 액티비티가 이미 스택에 있고 다시 시작되면이 메서드를 호출해야합니다.

여기서 새 Intent가 전달되어야하므로 getIntent()를 통해 가져온 의도 데이터로 onCreate()에서와 같이 변수에 반응하고 초기화 할 수 있습니다.

+0

고맙습니다! 그 트릭을 했어! :) – Jona

+1

활동에 소비 한 후 의도를 어떻게 지우시겠습니까? 나는 setIntent (null)을 시도했지만 원래의 의도를 실제로 지운 것처럼 보이지 않았다. 나는 오리 엔테이션을 뒤집은 후 onCreate()가 마지막으로 통과 한 인 텐트를 반환하기 때문에 이것을하고 싶다. – Jona

관련 문제