Η κολλώδης μετάδοση είναι ένα εργαλείο που χρησιμοποιούν οι προγραμματιστές Android για την επικοινωνία μεταξύ των εφαρμογών. Αυτές οι εκπομπές πραγματοποιούνται χωρίς ειδοποίηση του χρήστη. Το λειτουργικό σύστημα Android συνήθως αντιμετωπίζει κάθε εφαρμογή σαν να ήταν ξεχωριστός χρήστης. Οι εφαρμογές εκτελούνται ανεξάρτητα και μεμονωμένα, σε ξεχωριστές εικονικές μηχανές, χρησιμοποιώντας μόνο τα στοιχεία υλικού που χρειάζονται για να λειτουργήσουν. Αυτό οδηγεί σε αυστηρή ασφάλεια, αλλά μερικές φορές οι εφαρμογές πρέπει να μοιράζονται πληροφορίες, οι σταθερές εκπομπές είναι μια λύση για τη λήψη πληροφοριών από τη μια εφαρμογή στην άλλη.
Εκπομπές
Οι εκπομπές είναι ανακοινώσεις που αποστέλλονται σε εφαρμογές Android. Αυτά συμβαίνουν χωρίς να τα γνωρίζει ο χρήστης. Το λειτουργικό σύστημα Android εκκινεί τις περισσότερες εκπομπές, αλλά μεμονωμένες εφαρμογές μπορούν επίσης να εκπέμπουν. Για παράδειγμα, όταν η μπαταρία πέσει ή η οθόνη σβήσει, μια ανακοίνωση βγαίνει σε όλες τις εφαρμογές. Εάν μια εφαρμογή λάβει δεδομένα που είναι διαθέσιμα σε άλλες εφαρμογές, θα τις ενημερώσει. Για να φτάσει η ανακοίνωση στις εφαρμογές, πρέπει πρώτα να μεταβεί σε έναν δέκτη εκπομπής, ένα στοιχείο στην εφαρμογή που χειρίζεται τα μηνύματα εκπομπής.
Το βίντεο της ημέρας
Android Intents
Λόγω του διαχωρισμού που επιβάλλει το Android μεταξύ των διαφόρων εφαρμογών του, όλες οι εκπομπές περνούν από το λειτουργικό σύστημα. Μια εφαρμογή δεν μπορεί να επικοινωνήσει απευθείας με τον δέκτη εκπομπής άλλης εφαρμογής. Όταν μια εφαρμογή θέλει να στείλει μια εκπομπή, ειδοποιεί το λειτουργικό σύστημα με ένα Intent. Το Intent είναι ένα μήνυμα είτε για την ενεργοποίηση μιας εφαρμογής είτε για την ενεργοποίηση ενός από τα στοιχεία της, όπως ο δέκτης. Το Intent απλώς ορίζει το μήνυμα που πρόκειται να μεταδοθεί – ότι η μπαταρία είναι χαμηλή, για παράδειγμα, ή για να ζητήσετε πρόσβαση σε μια φωτογραφία στο τηλέφωνό σας.
Αυτοκόλλητες εκπομπές
Μια κανονική εκπομπή φτάνει στον δέκτη για τον οποίο προορίζεται και μετά τερματίζεται. Μια κολλώδης μετάδοση παραμένει κολλημένη έτσι ώστε να μπορεί να ειδοποιεί άλλες εφαρμογές εάν χρειάζονται τις ίδιες πληροφορίες – για παράδειγμα, ότι η μπαταρία είναι τώρα πλήρως φορτισμένη. Όταν εγγράφετε μια νέα εφαρμογή που πρέπει να γνωρίζει τις πληροφορίες ή όταν εκκινείται μια ανενεργή εφαρμογή, η σταθερή μετάδοση θα σταλεί στον δέκτη της νέας εφαρμογής. Μια νέα κολλώδης μετάδοση με ενημερωμένες πληροφορίες για το ίδιο θέμα θα ξαναγράψει μια προηγούμενη σταθερή μετάδοση.
Θεωρήσεις
Μια εφαρμογή μπορεί να στείλει μια αυτοκόλλητη μετάδοση ή να την αφαιρέσει μόνο εάν ο προγραμματισμός της περιλαμβάνει άδεια που εξουσιοδοτεί τα stickies. Η ασφάλεια στις σταθερές εκπομπές δεν είναι τόσο αυστηρή όσο στα μη κολλώδη μηνύματα. Οποιαδήποτε εφαρμογή μπορεί ενδεχομένως να αντικαταστήσει το sticky μιας άλλης εφαρμογής. Ένα από τα καλά πράγματα σχετικά με τη χρήση ενός intent, κολλώδους ή μη, είναι ότι ενώ μπορείτε να καθορίσετε ποιες εφαρμογές θέλετε να το λαμβάνετε, δεν χρειάζεται να το κάνετε. Το Android σας καθορίζει τις κατάλληλες εφαρμογές για τη λήψη της μετάδοσής σας, με βάση το φιλτράρισμα που έχει ενσωματωθεί σε κάθε εφαρμογή από τον προγραμματιστή της.