אנדרואיד: מה זה Sticky Broadcast?

שידור דביק הוא כלי שמפתחי אנדרואיד משתמשים בהם לתקשורת בין אפליקציות. שידורים אלו מתרחשים מבלי שהמשתמש מקבל הודעה. מערכת ההפעלה אנדרואיד מתייחסת בדרך כלל לכל אפליקציה כאילו היא משתמש נפרד. אפליקציות פועלות באופן עצמאי ובבודד, על מכונות וירטואליות נפרדות, תוך שימוש רק ברכיבי החומרה הדרושים להם על מנת לתפקד. זה מוביל לאבטחה הדוקה, אבל לפעמים אפליקציות צריכות לשתף מידע, שידורים דביקים הם פתרון אחד להשגת מידע מאפליקציה אחת לאחרת.

שידורים

שידורים הם הודעות שנשלחות לאפליקציות אנדרואיד. אלה קורים מבלי שהמשתמש מודע להם. מערכת ההפעלה אנדרואיד יוזמת את רוב השידורים, אך גם אפליקציות בודדות יכולות לשדר. כדוגמה, כאשר הסוללה מתרוקנת או שהמסך נכבה, יוצאת הודעה לכל האפליקציות. אם אפליקציה תקבל נתונים שזמינים ליישומים אחרים, היא תודיע להם. כדי שההודעה תגיע לאפליקציות, עליה לעבור קודם למקלט שידור, רכיב באפליקציה שמטפל בהודעות שידור.

סרטון היום

כוונות אנדרואיד

בגלל ההפרדה שהאנדרואיד כופה בין האפליקציות השונות שלה, כל השידורים עוברים דרך מערכת ההפעלה. אפליקציה לא יכולה ליצור קשר ישירות עם מקלט השידור של אפליקציה אחרת. כאשר אפליקציה כן רוצה לשלוח שידור, היא מודיעה למערכת ההפעלה עם Intent. כוונה היא הודעה להפעלת אפליקציה או הפעלה של אחד ממרכיביה, כגון המקלט. ה-Intent פשוט מגדיר את ההודעה שעומדת להיות משודרת - שהסוללה חלשה, למשל, או לבקש גישה לתמונה בטלפון שלך.

שידורים דביקים

שידור רגיל מגיע למקלט שאליו הוא מיועד, ואז מסתיים. שידור דביק נשאר בסביבה כך שהוא יכול להודיע ​​לאפליקציות אחרות אם הן זקוקות לאותו מידע - למשל, שהסוללה טעונה במלואה. כאשר אתה רושם אפליקציה חדשה שצריכה לדעת את המידע, או כאשר אפליקציה לא פעילה מופעלת, השידור הדביק יישלח למקלט של האפליקציה החדשה. שידור דביק חדש עם מידע מעודכן באותו נושא ישכתב שידור דביק קודם.

שיקולים

אפליקציה יכולה לשלוח שידור דביק או להסיר אחד רק אם התכנות שלה כולל הרשאה שמאשרת דביקים. האבטחה בשידורים דביקים אינה הדוקה כמו בהודעות שאינן דביקות. כל אפליקציה עשויה לדרוס את הדביק של אפליקציה אחרת. אחד הדברים הטובים בשימוש בכוונה, דביקה או לא, הוא שבעוד שאתה יכול לציין אילו אפליקציות אתה רוצה לקבל אותה, אתה לא חייב. האנדרואיד שלך קובע את האפליקציות הנכונות לקליטת השידור שלך, על סמך הסינון המובנה בכל אפליקציה על ידי המתכנת שלה.