홈스크린 위젯을 만들고 위젯이 서비스를 하고 있는 중이랑
그렇지 않을때랑 다른 아이콘을 쓰고 있습니다.(토글 스위치 처럼요)
위젯 아이콘을 클릭하면 서비스가 켜지고 다시 클릭하면 꺼지는 구조 입니다.

일단 클릭시 토글이랑
메인 액티비티에서 서비스를 실행했을때 위젯에 반영되는 것까진 구현이 되는데

서비스가 띄워진 상태에서 태스크 매니저로 강제로 서비스를 종료할 경우엔 아이콘이 변하지 않습니다.

서비스의 onStart 함수와 onDestroy 함수가 호출될때 각각 인텐트를 발생시켜 이 것을 브로드 캐스트 리시버로 보내도록 되어있고
해당 인텐트가 get 된 경우 상황에 맞게 아이콘을 업데이트 하도록 만들었습니다.

그렇다면 태스크 킬러와 같은 강제종료 어플은 onDestroy 함수를 호출하지 않는 건가요?
아니면 onDestroy 오버라이드 시에 super.onDestroy가 문제가 되는 건가요?

그리고 서비스를 켠 상태로 위젯을 생성하면 켜져있는 상태의 아이콘이 나오는게 아니라
꺼져있는 아이콘으로 생성이 됩니다. 물론 터치 몇번 하면 제대로 동작하긴 하는데... 이부분도 좀 완벽하게 하고 싶습니다.
onStart 함수에 인텐트를 넣어놔서 onStart 호출 이후의 상태에 대해선 어떻게 해야할지 잘 모르겠습니다.ㅠㅠ

제가 초보라서 좀 허접한 질문인데 아무리 검색해도(검색어도 뭐라고 해야할지) 안나와서 이렇게 질문드립니다. ㅠㅠ 
profile

초보 개발자 입니다.