안드로이드 개발 질문/답변
(글 수 45,052)
어플에서 Service 를 추가하여 startService 등으로 실행하면 동작을 잘 하는데
어플을 종료하면 서비스도 죽는 것 같습니다.
서비스는 계속 동작하는 것이 아닌가요?
어플에 종속되어있어서 어플이 종료되면 서비스도 종료되는 것인가요?
어플이 종료되어도 동작하는 서비스를 만들려면 어떻게 해야하는 것인가요?
2010.07.16 20:42:53
음.. 어플 종료를 정확히 어떤 의미로 사용하신건지 궁금합니다.
약간 말장난 같긴 하지만, 어플리케이션이 종료되면 서비스도 종료되는 것이 맞습니다.
혹시 restartPacakge() 같은 메서드를 이용해서 강제로 어플을 종료시키셨다면, 서비스도 종료되버립니다.
하지만 일반적인 경우 여러개의 Activity 로 UI 어플을 구현한게 되는데, 특정 Activity 가 종료된다고 Service 가 종료되지는 않습니다.
어플을 종료' 했다는 의미를 좀 더 자세히 설명해 주시면 좀 더 도움이 되는 이야기를 해 드릴 수 있을거 같네요.
2010.07.16 21:09:11
제가 보는책 일부 인용해 보면,
"IPC를 사용하지 않는다 해도 수동으로 서비스를 시작시키거나 종료시킬 수 있다. 이렇게 수동으로 서비스를 실행시켜두면 액티비티 실행여부와 관계없이 해당서비스를 계속 실행시킬수 있다. 일반적으로 IPC 연결을 종료하면 서비스도 함께 종료된다."
여기서 수동으로 시작은 startService(serviceIntent);
IPC는 bindService(serviceIntent, svcConn, BIND_AUTO_CREATE);
수동으로 시작한 서비스 종료할땐stopService(serviceIntent); 호출.
혹시 onDestroy() 에 stopService()를 호출한건 아니신지...
"IPC를 사용하지 않는다 해도 수동으로 서비스를 시작시키거나 종료시킬 수 있다. 이렇게 수동으로 서비스를 실행시켜두면 액티비티 실행여부와 관계없이 해당서비스를 계속 실행시킬수 있다. 일반적으로 IPC 연결을 종료하면 서비스도 함께 종료된다."
여기서 수동으로 시작은 startService(serviceIntent);
IPC는 bindService(serviceIntent, svcConn, BIND_AUTO_CREATE);
수동으로 시작한 서비스 종료할땐stopService(serviceIntent); 호출.
혹시 onDestroy() 에 stopService()를 호출한건 아니신지...



