초보 개발자입니다... 브로드캐스트리시버를 만들면서 어려운 점이 많아 도움의 손길을 받고자
조심스럽게 도움의 손길을 내밀어 봅니다...
전화가 올때 receiver 로 받아서 전화를 끊고 문자를 보내는 기능을 구현하고 있습니다.
리시버 등록은 registerReceiver(callReceiver, "android.intent.action.PHONE_STATE"); 이렇게 해서
전화가 오는 action 인 android.intent.action.PHONE_STATE 브로드캐스트가 발생하면
이미 구현해 놓은 브로드캐스트리시버인 callReceiver 에서 전화를 끊고 부재중 문자를 보내려고 합니다.
그런데 처음 문자를 보낼때는 1개 두번째 보낼때는 2개 이렇게 보내는 문자가 하나씩 늘어납니다...
아마도 제 생각에는 unregisterReceiver() 를 제 때에 하지 않아서 전화가 올 때마다 callReceiver 를
중복으로 생성하여 그런 것 같습니다. unregisterReceiver() 를 제 때에 해주면 되는데 이것저것 구현하느라
제 때를 찾기가 어렵습니다. 그래서 전화가 오는 브로드캐스트가 발생할 때마다 이미 등록된 broadcastReceiver 를
쓰게 하고 싶은데 어떻게 해야 될 지 모르겠습니다.
요약 : 똑같은 broadcastReceiver 를 동작시키는 broadcast 가 여러번 발생할 때 broadcastReceiver 가 여러번 생성되어서
receiver 안에 구현한 동작이 1번, 2번, 3번 . . . 늘어나고 있습니다. 해결할 수 방법좀 가르쳐주세요.
ps : 정적으로 BroadcastReceiver를구현하는 방법으로 하면 해결이 될 것 같은데...
일단 최대한 동적으로 해결할 수 있는 방법이 있는지 알고 싶습니다.




그 리시버를 자주 사용한다면 앱내에서 static으로 리시버를 하나만 생성하고 앱이 종료될 때 해제시키면 안되나요?