broadcastreceiver 예제

브로드캐스트 리시버는 안드로이드 앱에서 발생하는 시스템 이벤트를 수신하고 처리하는 데 사용됩니다. 이를 통해 앱은 시스템 동작과 상호작용하면서 필요한 작업을 수행할 수 있습니다.

다음은 BroadcastReceiver의 간단한 예제입니다. 이 예제는 시스템에서 “ACTION_POWER_CONNECTED”와 “ACTION_POWER_DISCONNECTED”라는 두 가지 액션을 수신하고 로그에 메시지를 출력합니다.

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.util.Log;

public class PowerConnectionReceiver extends BroadcastReceiver {
    private static final String TAG = "PowerConnectionReceiver";

    @Override
    public void onReceive(Context context, Intent intent) {
        String action = intent.getAction();
        if (action != null) {
            if (action.equals(Intent.ACTION_POWER_CONNECTED)) {
                Log.i(TAG, "전원이 연결되었습니다.");
            } else if (action.equals(Intent.ACTION_POWER_DISCONNECTED)) {
                Log.i(TAG, "전원이 분리되었습니다.");
            }
        }
    }
}

위의 코드는 BroadcastReceiver를 상속받는 클래스를 생성하고 onReceive 메소드를 오버라이드하여 수신된 액션을 처리합니다. onReceive 메소드는 시스템으로부터 수신한 액션에 따라 실행되며, 여기서는 “ACTION_POWER_CONNECTED”와 “ACTION_POWER_DISCONNECTED” 액션을 처리하고 로그에 메시지를 출력하는 예제입니다.

해당 브로드캐스트 리시버를 앱에서 등록하기 위해서는 매니페스트 파일에 다음과 같은 코드를 추가해야 합니다:

<receiver android:name=".PowerConnectionReceiver">
    <intent-filter>
        <action android:name="android.intent.action.ACTION_POWER_CONNECTED"/>
        <action android:name="android.intent.action.ACTION_POWER_DISCONNECTED"/>
    </intent-filter>
</receiver>

위의 코드는 “ACTION_POWER_CONNECTED”와 “ACTION_POWER_DISCONNECTED” 액션을 필터링하는 인텐트 필터를 설정하고, 이를 PowerConnectionReceiver에 연결하여 리시버를 등록합니다.

이 예제를 통해 브로드캐스트 리시버를 사용하여 안드로이드 앱에서 시스템 이벤트를 처리하는 방법을 간단히 알아보았습니다. 필요에 따라 추가적인 로직을 구현하여 브로드캐스트 리시버를 활용할 수 있습니다.

#Android #BroadcastReceiver