브로드케스트 메서드 - 브로드케스트(수신) 메서드, 브로드케스트(방송) 메서드, 필요할 때만 방송을 수신할 경우

CODEDRAGON Development/Android

반응형


 

 

브로드케스트 메서드

·         브로드케스트(수신) 메서드

·         브로드케스트(방송) 메서드

·         필요할 때만 방송을 수신할 경우

 

 

 

 

 

브로드케스트(수신) 메서드

·         BroadcastReceiver 클래스로부터 상속받으며 방송을 수신하는 메서드는 다음과 같이 재정의해서 사용합니다.

·         방송이 수신되면 onReceive 메서드가 호출되며, context BroadcastReceiver 실행되는 컨텍스트이며, intent 수신된 방송 내용입니다.

·         BroadcastReceiver 프로세스의 메인 스레드에서 실행되고, 너무 오래 시간을 끌어서는 되며 10초내로 리턴해야 합니다.

·         브로드케스트는 System 보내고 응용 프로그램은 수신만 하는 것이 일반적입니다.

 

void onReceive (Context context, Intent intent)

 

 

 

 

 

 

브로드케스트(방송) 메서드

·         Intent 인수는 전달하고자 하는 방송 내용이고, 액션에 방송의 내용을 대입하며 인텐트의 다른 필드에 추가 정보를 전달할 있습니다.

·         허가를 받은 수신자에게만 방송을 보내고 싶다면 번째 인수로 퍼미션을 지정하되 퍼미션이 필요 없으면 인수를 생략하거나 null 전달합니다.

·         일반 방송은 비동기적으로 동작하여 호출 즉시 리턴합니다.

·         비동기적이며 순서적이므로 효율이 좋습니다.

·         순서 있는 방송은 인텐트 필터의 android:priority 속성이 지정하는 중요도에 따라 수신 순서가 결정되어 차례대로 전달됩니다.

 

void sendBroadcast(Intent intent, [String receiverPermission])

void sendOrderedBroadcast(Intent intent, String receiverPermission)

 

 

 

 

 

 

필요할 때만 방송을 수신할 경우

필요할 때만 방송을 수신하려면 매니페스트에 등록할 필요 없이, 메서드로 등록 해제하면 됩니다.

BR 등록 해제 메소드

설명

Intent registerReceiver (BroadcastReceiver receiver, IntentFilter filter)

·         BroadcastReceiver 객체와 인텐트 필터를 전달합니다

·         BroadcastReceiver 등록할 최적의 시점은 onResume()

void unregisterReceiver (BroadcastReceiver receiver)

·         액티비티가 종료될 때는 BroadcastReceiver 등록을 해제해야 합니다.

·         등록을 해제할 최적의 시점은 onPause()