안드로이드 개발 질문/답변
(글 수 45,052)
다름이 아니라 BroadcastReceiver를 이용하여 부팅시점을 체크하여 서비스를 시작하는 간단한 어플을 만들었습니다.
정적(Static) BroadcastReceiver와 동적(Dynamic) BroadcastReceiver 가 두가지가 있다고 하여,
액티비티가 죽어도 항상 실행되는 정적 BroadcastReceiver를 이용하였습니다. (Manifest를 통해 선언)
근데 문제는 이녀석의 Unregister입니다.
특정 시점에서 등록해제를 하고 싶은데, 그 타이밍과 방식을 찾기가 어렵습니다. ㅠ.ㅜ;
동적인경우, 해당 Receiver 객체를 가지고 있으면, 쉽게 코드상에서 Unregister가 가능한데,
정적으로 등록된 BroadcastReceiver를 해제하는 방법이 있을런지요?
※ 정적인 만큼 해제 안되는게 맞는것 같기도 한데, 혹시나 경험해보신분들 조언 부탁드립니다.~!
저도 이것 때문에 고민을 좀 했었는데요.
저는 Manifest에 등록시켜놓고 onReceive 에서 동작할 때 Boolean 변수를 하나 주고 그것을 체크해서
true이면 동작하고, false이면 동작하지 않게 구현하였습니다.
겉으로 보기에는 false일 때는 동작을 안할테니까 Manifest에서 해제시킨 것과 효과는 같았습니다.