본문 바로가기
안드로이드

BroadCast 보내기.

by 파워킴 2015. 11. 20.
반응형

## BroadCast 보내기.


1. 일반적인 사용법.

Intent stepIntent = new Intent(StepService.ACTION_STOP_WALK);

sendBroadcast(stepIntent);

- 일반적인 Action 등록을 하여 사용한다.


2. permission 사용을 통한 제한

Intent stepIntent = new Intent(StepService.ACTION_STOP_WALK);

sendBroadcast(stepIntent, "com.xxx.permission.BROADCAST");

- permission 처리를 위해 permission 값을 전달함. 

- 이를 사용하기 위해 서는 Manifest 에 permission 을 만들어 주고 이를 사용하는 sender, receiver  를 하는 application 에 사용하 하겠다는 설정을 해주어야함.

ex) 

<permission android:name="com.xxx.permission.BROADCAST" />

<uses-permission android:name="com.xxx.permission.BROADCAST" />


3. order 를 지정.

sendOrderedBroadcast() 

인텐트를 브로드캐스팅하여 리시버들을 차례대로 호출함.

일반 Broadcast는 완전히 Async로 동작하여 다수의 Receiver에 대해 수신 순서를 신경 쓰지 않는다.  

Ordered Broadcast도 Async이긴 하지만 Intent filer의 android:priority 속성이 지정하는 중요도에 따라 수신 순서가 정해지고 한 번에 하나씩 전달된다. 

다시 말해 먼저 Broadcast를 수신한 Receiver의 onReceive()가 return 되어야 다음 Receiver에게 Broadcast가 전달된다. 

Ordered Broadcast를 수신한 Receiver에서는 Abort flag와 Result code, data, extras를 Set/Get 할 수 있다


4. 기타로  sendStickyBroadcast 등이 있으나. api 21 에서 삭제 됨. This method was deprecated in API level 21.

sendStickyBroadcast(Intent intent)

브로드 케스팅된 일정 기간동안 수신자들이 데이터를 검색할 있게 . 기능을 사용하려면 반드시 'BROADCAST_STICKY'퍼미션을 사용하여 선언해야


반응형

댓글