Sobes.tech
Junior

Kuidas ühendada BroadcastReceiver sõnumite saamiseks?

sobes.tech AI

Vastus AI-lt

On kaks meetodit:

  1. Statiliselt manifestis:

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

    — Luua rakenduse käivitamisel, isegi kui see ei ole aktiivne. — Vähem paindlik, kuid usaldusväärne süsteemsete sündmuste jaoks.

  2. Dünaamiliselt koodis:

    // Aktiivsuses või teenuses
    IntentFilter filter = new IntentFilter("com.example.MY_ACTION");
    MyBroadcastReceiver receiver = new MyBroadcastReceiver();
    registerReceiver(receiver, filter);
    
    // Ära unusta registreerimist tühistada vajadusel
    // unregisterReceiver(receiver);
    

    — Luua ja registreerida jooksvalt. — Rohkem paindlikkust, sobib sündmusteks rakenduse sees. — Vajalik on käsitsi registreerimise tühistamine, et vältida mälulekkeid.