Junior
Πώς να συνδέσετε έναν BroadcastReceiver για λήψη μηνυμάτων;
sobes.tech AI
Απάντηση από AI
Υπάρχουν δύο τρόποι:
-
Στατικά στο μανιφέστο:
<application ...> <receiver android:name=".MyBroadcastReceiver"> <intent-filter> <action android:name="com.example.MY_ACTION" /> </intent-filter> </receiver> </application>— Δημιουργείται κατά την εκκίνηση της εφαρμογής, ακόμη και αν δεν είναι ενεργή. — Λιγότερο ευέλικτο, αλλά αξιόπιστο για συστημικά γεγονότα.
-
Δυναμικά στον κώδικα:
// Σε μια δραστηριότητα ή υπηρεσία IntentFilter filter = new IntentFilter("com.example.MY_ACTION"); MyBroadcastReceiver receiver = new MyBroadcastReceiver(); registerReceiver(receiver, filter); // Μην ξεχάσετε να ακυρώσετε την εγγραφή αν χρειάζεται // unregisterReceiver(receiver);— Δημιουργείται και καταχωρείται κατά την εκτέλεση. — Πιο ευέλικτο, κατάλληλο για γεγονότα εντός της εφαρμογής. — Απαιτείται χειροκίνητη διαγραφή για την αποφυγή διαρροών μνήμης.