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