안드로이드 개발 질문/답변
(글 수 45,052)
제작중이던 앱에 해결하기 힘든 문제가 있어 질문 드립니다.
액티비티 A는 B를 생성하고 B는 다시 C를 생성합니다.
A가 B를 생성할때 Intent에 Parcerble한 객체에 Url을 Intent에 넣어 넘겨주어서 B에서는 파싱하여 넘겨주는 역할을 합니다.
그런데 A가 넘겨주는 Url은 매번 다릅니다.
문제는... B액티비티 상태에서 사용자가 back버튼으로 창을 닫으면 문제가 없지만 홈키로 닫을경우 다음에 A->B를 불렀을때 새로운 Url을 파싱하는게 아니라 이전에 있던 화면을 보여주는게 문제입니다. (이는 HOME키를 누르고 액티비티를 종료하면 onStart()에서 getIntent()로 인텐드가 새로운 인텐트가 아닌 이전 인텐트로 불려와지는 문제 인것 같습니다.)
그래서 A에서 B를 호출할때 FLAG_ACTIVITY_NO_HISTORY를 넣어주었더니 이 문제는 해결되었지만 B에서 C를 호출하고 C에서 back버튼을 누르면 B로 돌아가는것이 아닌 A로 돌아가는 것 입니다.
래퍼런스에서 찾아보니 이 flag는 화면 전환이 있을때 창을 닫아버리는 것 같습니다.
억지억지... Intent가 아닌 제 3의 클래스에 static변수로 객체를 넘겨줘서 해결하긴 했지만 영 이런 방법은 찝찝해서..
어떻게 해결하면 좋을지 한수 가르쳐 주시면 감사하겠습니다. ㅠ
액티비티 A는 B를 생성하고 B는 다시 C를 생성합니다.
A가 B를 생성할때 Intent에 Parcerble한 객체에 Url을 Intent에 넣어 넘겨주어서 B에서는 파싱하여 넘겨주는 역할을 합니다.
그런데 A가 넘겨주는 Url은 매번 다릅니다.
문제는... B액티비티 상태에서 사용자가 back버튼으로 창을 닫으면 문제가 없지만 홈키로 닫을경우 다음에 A->B를 불렀을때 새로운 Url을 파싱하는게 아니라 이전에 있던 화면을 보여주는게 문제입니다. (이는 HOME키를 누르고 액티비티를 종료하면 onStart()에서 getIntent()로 인텐드가 새로운 인텐트가 아닌 이전 인텐트로 불려와지는 문제 인것 같습니다.)
그래서 A에서 B를 호출할때 FLAG_ACTIVITY_NO_HISTORY를 넣어주었더니 이 문제는 해결되었지만 B에서 C를 호출하고 C에서 back버튼을 누르면 B로 돌아가는것이 아닌 A로 돌아가는 것 입니다.
래퍼런스에서 찾아보니 이 flag는 화면 전환이 있을때 창을 닫아버리는 것 같습니다.
억지억지... Intent가 아닌 제 3의 클래스에 static변수로 객체를 넘겨줘서 해결하긴 했지만 영 이런 방법은 찝찝해서..
어떻게 해결하면 좋을지 한수 가르쳐 주시면 감사하겠습니다. ㅠ



