Sobes.tech
Junior

Как да свържете BroadcastReceiver за получаване на съобщения?

sobes.tech AI

Отговор от 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);
    

    — Създава се и се регистрира по време на изпълнение. — По-гъвкав, подходящ за събития вътре в приложението. — Необходимо е ръчно да се отменя регистрацията, за да се избегнат течове на памет.