intent broadcast 예제

Android 앱에서 Intent Broadcast를 사용하면 앱 간에 메시지를 주고 받을 수 있습니다. 이를 통해 특정 이벤트가 발생하거나 데이터가 업데이트될 때 앱 간에 통신할 수 있습니다.

다음은 BroadcastReceiver를 사용하여 Intent Broadcast를 수신하는 방법에 대한 예제입니다.

// Broadcast 수신을 처리하기 위한 BroadcastReceiver 클래스
public class MyReceiver extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
        if (intent.getAction().equals("com.example.MY_ACTION")) {
            // TODO: Intent 정보를 처리하는 코드 작성
            String data = intent.getStringExtra("data");
            // 수신된 데이터를 처리하는 로직을 추가하세요.
        }
    }
}

위의 예제에서 MyReceiverBroadcastReceiver 클래스를 상속한 사용자 정의 클래스입니다. onReceive() 메서드를 재정의하여 Broadcast 수신 시 호출되는 코드를 작성합니다. 수신되는 Intent의 액션을 확인한 후, 필요한 작업을 수행할 수 있습니다.

다음은 Intent Broadcast를 전송하는 방법에 대한 예제입니다.

// Broadcast 송신을 위한 메서드
private void sendBroadcastMessage(String message) {
    Intent intent = new Intent();
    intent.setAction("com.example.MY_ACTION");
    intent.putExtra("data", message);
    // Broadcast 송신을 위해 sendBroadcast() 메서드를 호출합니다.
    sendBroadcast(intent);
}

위의 예제에서 sendBroadcastMessage() 메서드는 인자로 전달받은 메시지를 브로드캐스트하는 역할을 합니다. Intent 객체를 생성한 후, 액션과 데이터를 설정하여 sendBroadcast() 메서드를 호출하여 Intent Broadcast를 전송합니다.

Intent Broadcast를 수신하기 위해선 MyReceiver 클래스를 등록해야 합니다. 다음은 Manifest 파일에서 receiver 엘리먼트를 추가하는 예제입니다.

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.myapp">

    <application ...>
        ...

        <receiver
            android:name=".MyReceiver"
            android:exported="true"
            android:enabled="true">
            <intent-filter>
                <action android:name="com.example.MY_ACTION" />
            </intent-filter>
        </receiver>
    </application>
</manifest>

위의 예제에서 receiver 엘리먼트를 추가하고 name 속성에 Broadcast를 처리하는 클래스의 패키지 경로를 설정합니다. intent-filter 엘리먼트에서는 수신할 Intent의 액션을 설정합니다.

이제 Intent Broadcast를 전송하고 수신하기 위한 간단한 예제를 작성하였습니다. 원하는 기능에 맞게 추가적인 코드를 작성하여 앱 간에 통신하는 기능을 구현할 수 있습니다.

#Android #IntentBroadcast