<Receiver>

תחביר:
<receiver android:directBootAware=["true" | "false"]
          android:enabled=["true" | "false"]
          android:exported=["true" | "false"]
          android:icon="drawable resource"
          android:label="string resource"
          android:name="string"
          android:permission="string"
          android:process="string" >
    ...
</receiver>
בתוך:
<application>
יכול להכיל:
<intent-filter>
<meta-data>
תיאור:
מצהירה על מקלט שידורים, BroadcastReceiver למחלקה המשנית, כאחד מהרכיבים של האפליקציה. הפעלת מקלטי שידור לקבלת כוונות שמשודרות על ידי המערכת או על ידי גורמים אחרים גם כשרכיבים אחרים של האפליקציה אינם פועלים.

יש שתי דרכים ליידע את המערכת ממקלט השידור. אחת היא להצהיר עליו בקובץ המניפסט עם הרכיב הזה. הדרך השנייה היא ליצור של המקבל באופן דינמי בקוד ולרשום אותו Context.registerReceiver() או אחת מהגרסאות העמוסות שלה.

למידע נוסף על יצירת נמענים באופן דינמי, אפשר לעיין במאמר כיתה אחת (BroadcastReceiver) לתיאור.

אם המקלט הזה מטפל בשידורים שאינם של המערכת, צריך לציין ערך עבור android:exported. צריך להגדיר את הערך הזה ל-"true" אם רוצים שהמקבל יוכל: משדרים מאפליקציות אחרות או מ-"false", אם ברצונך שהמקלט יוכל לקבל שידורים מהאפליקציה שלך.

אין צורך להסיר את המאפיין android:permission אם כבר הצהירו על כך.

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

:
android:directBootAware

אם משדר השידור מודע ל-Direct-Boot, היא, אם היא יכולה לפעול לפני שהמשתמש מבטל את נעילת המכשיר.

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

ערך ברירת המחדל הוא "false".

android:enabled
האם המערכת יכולה ליצור מופע של מקלט השידור. זו "true" אם אפשר, ו-"false" אם לא. ערך ברירת המחדל "true".

לרכיב <application> יש ערך משלו מאפיין enabled שחל על כל הפריטים מרכיבי אפליקציות, כולל מקלטי שידורים. <application> והקבוצה מאפייני <receiver> חייבים להיות "true" עבור להפעיל את מקלט השידורים. אם אחד מהשניים הוא "false", הוא מושבת ולא ניתן ליצור ממנו אובייקט.

android:exported
האם מקלט השידור יכול לקבל הודעות ממקורות שאינם המערכת מחוץ לאפליקציה. המחיר הוא "true" אם הוא יכול, ו-"false" אם לא, אם הערך הוא "false", ההודעה היחידה שתישלח למקלט השידור מקבלים הם אלה שנשלחים על ידי המערכת, רכיבים של אותה אפליקציה או אפליקציות עם אותו מזהה משתמש.

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

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

android:icon
סמל שמייצג את מקלט השידור. המאפיין הזה מוגדר כהפניה למשאב שניתן להזזה שמכיל את הגדרת התמונה. אם היא לא מוגדרת, יוצג הסמל שצוין עבור האפליקציה כולה במקום זאת. לצפייה ב<application> המאפיין icon של הרכיב.

הסמל של מקלט השידור, בין שהוא מוגדר כאן או באמצעות רכיב <application>, הוא גם סמל ברירת מחדל לכל מסנני Intent של המקבל. לצפייה של רכיב <intent-filter> icon.

android:label
תווית קריאה למשתמש למקלט השידור. אם המאפיין הזה לא התווית שהוגדרה לאפליקציה בכללותה נעשה בו שימוש. הצגת הרכיב <application> label.

התווית של מקלט השידור, בין אם הוגדרה כאן או על ידי רכיב <application>, הוא גם תווית ברירת מחדל לכל מסנני Intent של הנמען. לצפייה של רכיב <intent-filter> label.

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

android:name
שם המחלקה שבה מיישם את מקלט השידור, תת-מחלקה של BroadcastReceiver. זהו תווית מוגדרת במלואה שם הכיתה, למשל "com.example.project.ReportReceiver". אבל, לפעמים בתור קיצור, אם התו הראשון של השם הוא נקודה, לדוגמה, ".ReportReceiver", הוא מצורף לשם החבילה שצוין ב את הרכיב <manifest>.

לאחר פרסום האפליקציה, אין לשנות את השם הזה, אלא אם מגדירים android:exported="false".

אין ברירת מחדל. צריך לציין את השם.

android:permission
שם ההרשאה שנדרשת לשדרנים כדי לשלוח הודעה למקלט השידור. אם המאפיין הזה לא מוגדר, ההרשאה שהוגדרה על ידי של רכיב <application> המאפיין permission רלוונטי למקלט השידור. אם אף אחד מהמאפיינים לא מוגדר, הנמען לא מוגן באמצעות הרשאה.

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

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

של רכיב <application> אפשר להגדיר ערך אחר במאפיין process ברירת מחדל לכל הרכיבים. אבל כל רכיב יכול לשנות את ברירת המחדל עם מאפיין process משלו, שמאפשר לפזר בכמה תהליכים.

אם השם שהוקצה למאפיין הזה מתחיל בנקודתיים (:), בתהליך פרטי לאפליקציה, נוצר בעת הצורך, מקלט השידור פועל בתהליך הזה.

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

הושקו ב:
רמת API 1