Назад к вопросам
Junior
74
questionbank

Как подключить BroadcastReceiver для получения сообщений?

Sobes Copilot

Получайте ответы в реальном времени

Ответ от нейросети

sobes.tech AI

Существует два способа:

  1. Статически в манифесте:

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

    — Создается при запуске приложения, даже если оно не активно. — Менее гибкий, но надежный для системных событий.

  2. Динамически в коде:

    // В активности или сервисе
    IntentFilter filter = new IntentFilter("com.example.MY_ACTION");
    MyBroadcastReceiver receiver = new MyBroadcastReceiver();
    registerReceiver(receiver, filter);
    
    // Не забудьте отменить регистрацию при необходимости
    // unregisterReceiver(receiver);
    

    — Создается и регистрируется во время выполнения. — Более гибкий, подходит для событий внутри приложения. — Необходимо вручную отменять регистрацию во избежание утечек памяти.