안드로이드 broadcastreceiver

안드로이드 애플리케이션 개발 시 BroadcastReceiver는 매우 중요한 컴포넌트입니다. BroadcastReceiver는 안드로이드 시스템 및 다른 애플리케이션에서 전송되는 브로드캐스트 메시지를 수신하는 역할을 합니다. 브로드캐스트 메시지는 안드로이드 시스템에서 발생한 이벤트를 다른 앱에 알리기 위해 사용됩니다.

BroadcastReceiver 등록

BroadcastReceiver를 등록하려면 먼저 AndroidManifest.xml 파일에 receiver 요소를 추가해야 합니다. receiver 요소에는 BroadcastReceiver 클래스와 수신하려는 브로드캐스트 메시지의 액션을 지정해야 합니다.

<receiver
    android:name=".MyBroadcastReceiver"
    android:exported="true">
    <intent-filter>
        <action android:name="com.example.MY_ACTION" />
    </intent-filter>
</receiver>

BroadcastReceiver 구현

BroadcastReceiver를 구현하기 위해서는 BroadcastReceiver 클래스를 상속하고 onReceive() 메서드를 재정의해야 합니다. 이 메서드는 브로드캐스트 메시지를 수신하면 호출됩니다.

class MyBroadcastReceiver : BroadcastReceiver() {
    override fun onReceive(context: Context?, intent: Intent?) {
        // 브로드캐스트 메시지를 처리하는 로직을 작성
    }
}

BroadcastReceiver 등록 및 해제

BroadcastReceiver를 등록하려면 Context.registerReceiver() 메서드를 사용해야 합니다. onReceive() 메서드가 호출되기 시작하고, BroadcastReceiver가 메시지를 수신할 수 있게 됩니다. 등록을 해제하려면 Context.unregisterReceiver() 메서드를 호출해야 합니다.

val receiver = MyBroadcastReceiver()
val intentFilter = IntentFilter("com.example.MY_ACTION")
context.registerReceiver(receiver, intentFilter)

// 등록 해제
context.unregisterReceiver(receiver)

결론

BroadcastReceiver는 안드로이드 애플리케이션 개발에서 매우 중요한 컴포넌트로, 다른 애플리케이션 및 시스템에서 전송되는 브로드캐스트 메시지를 수신하여 특정 이벤트를 처리합니다. BroadcastReceiver를 올바르게 등록하고 구현하여 앱의 동작을 확장하고 유연하게 만들 수 있습니다.

#Android #BroadcastReceiver