어플 실행시 Foreground Service 가 동작안하고 있을때만 서비스를 실행을 하고 싶은데 어떻게 해야 할지 잘 모르겠네요.
현재 어플 초기 실행시 Foreground Service 를 동작 시키고 서비스 onCreate 에서 preferences 로 서비스 동작을 true 로 주고 다음 어플 실행시에는 서비스가 중복 동작 하지 않도록 하고 있습니다. 그리고 서비스 onDestroy 에서 다시 false 를 주는 것이죠. 그런데 문제는 핸드폰을 재부팅할때 onDestroy 가 수행하지 않고 종료가 되네요. 그래서 다음 실행때 preferences 값이 true라서 Foreground Service 를 동작 시키지 못하고 있습니다.
위 방법을 시도한 이유는 API 21 부터 ActivityManager 가 제공하는 getRunningServices 가 deprecated 되었다고 하여 서비스 실행 여부를 판단할 다른 방법을 찾지 못하여서 였습니다.
그렇다면 어떤 방법을 통해서 목표를 달성할 수 있을까요.
다른 대안으로 생각하고있는건 핸드폰 켜자마자 리시버를 등록하여 자동으로 실행시키는 것인데 아직 시도는 하지 않은 상황입니다.
많은 조언 부탁드립니다.