Junior — Middle
Μπορείτε να αναφέρετε τους διάφορους τύπους Broadcast Receiver που χρησιμοποιούνται στο Android;
sobes.tech AI
Απάντηση από AI
Στο Android, υπάρχουν δύο βασικοί τύποι Broadcast Receiver:
-
Στατικοί (Static) Broadcast Receivers — δηλώνονται στο αρχείο manifest της εφαρμογής (
AndroidManifest.xml). Μπορούν να λαμβάνουν μηνύματα broadcast ακόμα και όταν η εφαρμογή δεν τρέχει. Ωστόσο, από το Android 8.0 (API 26), η χρήση τους περιορίζεται για ορισμένα συστημικά γεγονότα για εξοικονόμηση πόρων. -
Δυναμικοί (Dynamic) Broadcast Receivers — καταχωρούνται προγραμματιστικά στον κώδικα (συνήθως στο
onCreateήonResumeτης δραστηριότητας) με τη χρήσηregisterReceiver(). Είναι ενεργοί μόνο όσο η εφαρμογή ή το συστατικό τρέχει και είναι καταχωρημένο.
Επίσης, διακρίνονται:
- Ordered Broadcast Receivers — λαμβάνουν τα μηνύματα με σειρά, με δυνατότητα να διακόψουν την περαιτέρω μετάδοση.
- Local Broadcast Receivers — λειτουργούν εντός μιας εφαρμογής, χωρίς να βγαίνουν έξω από αυτή, αυξάνοντας την ασφάλεια και την απόδοση (
LocalBroadcastManager).
Παράδειγμα δυναμικής καταχώρησης:
BroadcastReceiver receiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
// επεξεργασία γεγονότος
}
};
registerReceiver(receiver, new IntentFilter(Intent.ACTION_BATTERY_CHANGED));