Android 기술 Q&A 
Q&A 게시판에 질문을 남기신 글에 대한 답변/덧글/쪽글에 대한 Push 메일 서비스를 받고자 하시는 분들은
☞ Push 메일 서비스 공지를 필독하시기 바랍니다.
Intent flag 관련된 사항 질문 드립니다.
작성자
작성일 2009-01-21 (수) 18:11
ㆍ추천: 0  ㆍ조회: 9536      
IP: 210.xxx.89
"Tasks can be re-ordered: if you use FLAG_ACTIVITY_NEW_TASK but there is already a task running for that Intent, the current task's activity stack will be brought to the foreground instead of starting a new task."

위 내용은 Android 사이트의 Getting Started-Application Model에 있는 내용인데요 헷갈리는 부분이 있어 질문 드립니다.
윗 글의 내용으로 보면 Task들의 순서가 바뀔 수 있는데 Intent의 flag를 FLAG_ACTIVITY_NEW_TASK로 설정한 경우 이미 해당 intent를 수행하고 있는 task가 있는 경우 새로 Task를 만들어 해당 intent를 전달하는 것이 아니라 이미 수행중인 Task를 foreground로 가져온다고 말하고 있습니다. 여기서 제가 궁금한 것은 새로운 task가 생성되지 않고 기존에 있던 foreground에 있지 않은 Task를 foreground로 가져온다는 부분인데요 아래와 같은 상황에 어떻게 동작하는지 설명을 해주시면 이해하는데 아주 도움이 될 것 같습니다.

아래 시나리오에서 test라는 application이 홈메뉴상에 등록되어 있다는걸 가정합니다.
또한 test에서 MAIN action, LAUNCHER category를 가지는 activity를 testAct라고 합니다.

(첫번째 시나리오)
1. test application을 실행한다. -> 실행된 test에 해당하는 task를 A라고 부르자.
2. test에서 FLAG_ACTIVITY_NEW_TASK 플래그를 설정한 intent를 이용해 testAct를 실행합니다.

이 상황에서 A task가 그대로 foreground에 남게 될까요 아니면 B라는 새로운 task가 생성되면서 이게 foreground로 나타나 A task 위에 표시될까요?

(두번째 시나리오)
여기선 조금 내용은 다릅니다만 AndroidManifest.xml에서 testAct의 launchMode를 singleTask로 설정한 경우를 생각해 봅니다.
제가 이해한 바로는 singleTask의 경우 FLAG_ACTIVITY_NEW_TASK와 동일하게 작동한다고 알고 있습니다.

1. test 를 실행합니다. => 마찬가지로 A라는 task가 생성됩니다.
2. home 버튼을 누르면 test가 pause 상태로 들어가고 홈 스크린이 뜨게 됩니다. (하지만 아직 A task가 끝난것은 아닙니다.)
3. 메뉴를 눌러 test를 다시 실행합니다.

이 상황에서 A task가 foreground로 나오게 될까요 아니면 새로운 B task가 생성되면서 이게 foreground로 나타나게 될까요?

제가 현재 이해하고 있는 바로는 첫번째 시나리오에선 A, 두번째 시나리오에선 B 입니다만 맞는지요?

추가로 한가지 질문을 더 드리자면 activity가 background로 들어갔을 경우 running 상태가 될 수는 없는건가요? onPause 등에 의해 무조건 running이 아닌 상태가 되는 건지요?

감사합니다.
덧글 쓰기 0
3500
※ 회원등급 레벨 0 이상 읽기가 가능한 게시판입니다.
    N     분류     제목    글쓴이 작성일 조회
4503 interface 질문.. 2009-01-21 8404
4502 RIL관련 자료 더 없나요? 2009-01-21 9415
4501 repo init error 2009-01-21 9519
4500 Intent flag 관련된 사항 질문 드립니다. 2009-01-21 9536
4499 Pause된 Task를 foreground로 가져오기? 2009-01-21 8723
4498 해상도관련 질문 입니다. 2009-01-21 8528
4497 구글폰 개발에 인력구성및 기간이 얼마나 걸릴까요?.. 2009-01-21 8239
4496 안드로이드 교육문의 2009-01-21 7947
4495 repo가 실행이 안되는 문제좀 해결해주세요 2009-01-22 8809
4494 Re.. [문의] 터치 관련하여 질문 드립니다. 2009-01-22 9614
4493 기본 미디어 플레이어로 미디어 연결 어떻게 하니요?.. 2009-01-22 8256
4492 sqlite expert로 생성한 test.db3가 open되지 않습니다. 도와.. 2009-01-22 9896
4491 맵뷰 내에 줌인버튼 원하는 위치에 넣기 2009-01-22 9033
4490 안드로이드 강좌 사이트 2009-01-23 8840
4489 Firmware Version ? 2009-01-23 8286
4488 G1 Dev phone 구입 질문 드립니다 2009-01-23 8103
4487 Reference-RIL 디버깅 어떻게 해야 하나요? 2009-01-23 10369
4486 안드로이드에서 DB서버와 연결하고싶어요ㅠ 2009-01-23 8543
4485 (해결!!)폰화면의 변화 알 수 있는 함수 알려주세요.. 2009-01-25 7973
4484 Android Kernel 이 전혀 동작하지 않습니다. 2009-01-27 8619
4483 Cupcake 빌드해봤는데 Dev Tools가 안보여요.. 2009-01-27 8307
4482 안드로이드 App개발에 관해 질문드립니다~ 2009-01-27 7614
4481 eclipse 실행시 Error 2009-01-27 8156
4480 완료 MTD block 설정 문의드립니다. 2009-01-28 8620
4479 포팅 완료하신분~ 로그 파일좀 부탁드립니다. 2009-01-28 11579
4478 OMAP3 TLS issue 관련 해서 질문 2009-01-28 8526
4477 Android Emulator에서 hellloworld.c 실핼방법좀 2009-01-29 8002
4476 android 장치 인식에 관하여...(lock 관련) 2009-01-29 8842
4475 안드로이드 슬라이드 열고 닫을 때 질문 2009-01-29 8314
4474 TextView 속성중 ems의 의미가 뭐죠? 2009-01-29 11895
4473 안드로이드 세미나, 교육, 강좌 등..정보는 어디에 올라오는지.. 2009-01-29 8040
4472 A N D R O I D _ 만 나오고 아무것도 안나옵니다. 조언좀 부탁.. 2009-01-29 8934
4471 웹상의 XML 로딩에 관한 질문드립니다. 2009-01-29 7850
4470 Touch Dual에 안드로이드 포팅 질문 2009-01-29 8348
4469 안드로이드와 WAS와의 연결에 대해 질문드립니다ㅠ.. 2009-01-29 9291
4468 APP Demo - LauncherShortcuts 질문입니다. 2009-01-30 10822
4467 android kernel source 다운 받기 ..안 받아집니다. 2009-01-30 8186
4466 초보가 총괄적인 질문 드립니다 ^^; 2009-01-30 7284
4465 주소록이나 기본 Application들의 소스 2009-01-30 10655
4464 [자답추가]Dev Phone에 app 올리는 법 2009-01-31 7964
4463 안드로이드 logcat 실행시 출력메시지입니다. 2009-01-31 19028
4462 ## goldfish 로 빌드한 커널 emulator에서 실행 시키는 방법.... 2009-02-02 9171
4461 widget을 변경해보려 합니다. 2009-02-02 7940
4460 manifest 관련 질문 입니다. 2009-02-02 8018
4459 에뮬레이터로 GPS 연동하려고 하는데요 2009-02-02 8507
4458 DDMS에서 kml로드할 때 2009-02-02 8496
4457 Framework에 있는 class import방법 문의 2009-02-02 11884
4456 Kernel build error 2009-02-02 8051
4455 cupcake sdk는 구할 수 없나요? 2009-02-02 8194
4454 에뮬레이터 한번 띄워 볼려구... 2009-02-02 8028
1,,,11121314151617181920,,,101