마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

타겟을 정해서 브로드캐슽트 하기.

0 추천
안녕하세요 초보개발자입니다.

 

보통 브로드캐스트한다(sendBraodcast())라고 하면 특정 타겟 없이 리시버가 있는 클래스들이 모두 반응하고

리시버 메서드에서 액션을 검사하여 자신의 것이 맞으면 처리하고 아니면 뱉게 끔 구성을 하잖아요~?

 

저는 이게 상당한 시간낭비이고 좋지 않다고 생각해서 서로 브로드케스트를 주고받을 때 타겟을 정해서 보내주고싶어요

 

제가 테스트 해 본 결과 A어플에서 브로드케스트를 하면 B,C,D 어플에 있는 리시버들까지 다 전달되더군요

여기서 저는 B,C,D 중 한 어플로만 브로드케스트를 할 수 있는 방법을 찾고있습니다.

 

찾던 중 Intent.setComponentName("패키지명"); 을 브로드캐스트 할 때 쓰면 저쪽으로만 가지 않을까 해서

테스트를 해봤는데 역시나.. 명시적으로 가진 않더군요...

 

혹시 방법을 아신다면 알려주시면 감사하겠습니다..!
윤둥이 (4,560 포인트) 님이 2013년 11월 1일 질문
윤둥이님이 2013년 11월 1일 수정

1개의 답변

0 추천

http://pkcentum.tistory.com/52

여기 참조하시면 될거 같네요.

whitesnow (8,920 포인트) 님이 2013년 11월 1일 답변
제가 setComponentName("패키지명") 이걸 써보게 된게 추천해주신 포스트를 보고 한건데요 디버깅결과 그렇게 브로드케스트를 해도 모든 리시버들에게 다 가더라구요..
제가 테스트 해보니 원하는 앱으로만 잘 가는데요??
...