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);
    

    — Δημιουργείται και καταχωρείται κατά την εκτέλεση. — Πιο ευέλικτο, κατάλληλο για γεγονότα εντός της εφαρμογής. — Απαιτείται χειροκίνητη διαγραφή για την αποφυγή διαρροών μνήμης.