마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

어플 종료시 서비스를 종료했다가 일정간격으로 실행할수 있나요?

0 추천
- 현재 개발하는 어플이 특성상 락스크린을 띄워줘야 하는 어플입니다.
(즉, 어플을 종료해도 서비스가 백그라운드에서 돌아가고 있다가 ACTION_SCREEN_OFF가 날아가면
어플의 락스크린을 띄워줘야 합니다.)

- 그런데 문제는, 안드로이드 4.3 이후로 백그라운드 서비스가 돌면 상단 노티바에
해당 어플이 실행중이라고 표시가 나오잖아요? 그러니 평소에는 서비스가 실행되고 있으면 안됩니다.

...이게 참 모순된 말이지만, 그래서 두가지 질문을 드립니다.

1) 어플 종료시 알람매니저를 이용해서 10분마다 락스크린 서비스 실행하는 방법도
고려는 해봤는데... 문제는 서비스 비활성화했다가 알람 매니저로 10분마다 활성화,
이런건 가능한줄로 알지만
서비스 자체를 종료 시켰다가 일정 간격으로 재실행하는게 가능한지,
가능하다면 어떻게 해야하는지 알고 싶습니다.

2) 혹시나 싶지만, 서비스를 돌리지 않고 락스크린을 돌릴수 있는 방법이 있나요?
있다면 알고 싶습니다.
시안 (280 포인트) 님이 2014년 9월 30일 질문

1개의 답변

0 추천

노티바에 노티가 꼭 나오는 서비스는 forground service 아니던가요? background service의 경우엔 나오지 않는 것으로 알고 있는데요.. 대신, background service는 생존보장이 되지 않기 때문에, 말씀하신대로 alarm manager를 애용해서 주기적으로 살려주면 큰 문제없이 서비스는 지속 될 것 같습니다. 궂이 서비스를 종료하지 않고 일정 시간마다 재시작을 해도 서비스 라이프 사이클 상, 이미 서비스가 실행 중 이면 onStartCommand 를 타기 때문에 이쪽 처리만 제대로 해주시면 큰 문제는 없을 것 같습니다.

프로삽질러 (3,040 포인트) 님이 2014년 10월 1일 답변
...