안드로이드 개발 질문/답변
(글 수 45,052)
BroadcastReceiver 를만들어서
부팅완료했을때
전화올때
sms 도착시
gcm 메세지 받을때
등등의 작업을 처리하고싶은데
엑션 하나하나마다 BroadcastReceiver 를 하나식 만들어주는것과
하나의 BroadcastReceiver 에서 모두처리하는것
어느것이 좋을까요?
그리고
BroadcastReceiver 에서 엑션별로 구별하는방법좀 갈켜주심
감사하겠습니다
그리고
하나의폰에 위의엑션들을 구현한 BroadcastReceiver 들이 여러개있을때
같은엑션을가진 BroadcastReceiver 모두를 호출해주는건가요?
아님 그중에 하나만 선택적으로 호출하는건지...
1. 브로드캐스트를 한개로 만들것인가? 여러개를 만들것인가?
-> 성능상의 차이도 없을것으로 생각되어지고요. 단순히 코드 관리 관점에서 보면 리시버를 뭉쳐서 코딩하는것이 가독성, 관리면에서 좋을것같네요. 물론 본인이 나누시는게 보기가 좋다면 그러셔도 됩니다.
2. 브로드캐스트 액션 구분 방법?
-> 브로드캐스트로 넘어오는 각종 신호는 onReceive(Context context, Intent intent) 메서드에서 intent 로 넘어오게 되어있습니다.
따라서 액션값은 intent,getAction() 메서드로 받아서 구분 하시면 되겠습니다.
더불어 신호에 따르는 각종 하위 메타값들도 역시 intent의 extra 값으로 넘겨져 오니 id 값 확인하시고 받아쓰시면 됩니다.