- תחביר:
<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><property>- תיאור:
- מצהיר על מקלט שידורים,
BroadcastReceiverמחלקה משנית, כאחד מרכיבי האפליקציה. מקלט שידורים מאפשר לאפליקציות לקבל כוונות שמשודרות על ידי המערכת או על ידי אפליקציות אחרות, גם כשלא מופעלים רכיבים אחרים של האפליקציה.יש שתי דרכים להגדיר את מקלט השידור כך שהמערכת תכיר אותו. אחת מהן היא להצהיר על ההרשאה בקובץ המניפסט באמצעות הרכיב הזה. האפשרות השנייה היא ליצור את המקלט באופן דינמי בקוד ולרשום אותו באמצעות השיטה
Context.registerReceiver()או אחת מהגרסאות שלה עם עומס יתר.מידע נוסף על יצירה דינמית של מקלטים זמין בתיאור של המחלקה
BroadcastReceiver.אם הרכיב הזה מטפל בשידורים שאינם שידורי מערכת, צריך לציין ערך ל-
android:exported. מגדירים את הערך הזה ל-"true"אם רוצים שהמקלט יוכל לקבל שידורים מאפליקציות אחרות, או ל-"false"אם רוצים שהמקלט יוכל לקבל שידורים רק מהאפליקציה שלכם.אם כבר הצהרתם על מאפיין
android:permission, אתם לא צריכים להסיר אותו.אזהרה: כדאי להגביל את מספר מקלטי השידור שמגדירים באפליקציה. יותר מדי מקלטי שידור עלולים להשפיע על ביצועי האפליקציה ועל חיי הסוללה של מכשירי המשתמשים. מידע נוסף על ממשקי API שאפשר להשתמש בהם במקום במחלקה
BroadcastReceiverלתזמון עבודה ברקע זמין במאמר אופטימיזציה ברקע. - מאפיינים:
android:directBootAwareהאם מקלט השידור תומך בהפעלה ישירה, כלומר, האם הוא יכול לפעול לפני שהמשתמש מבטל את נעילת המכשיר.
הערה: במהלך הפעלה ישירה, רכיב BroadcastReceiver באפליקציה יכול לגשת רק לנתונים שמאוחסנים באחסון מוגן במכשיר.
ערך ברירת המחדל הוא
"false".android:enabled- האם המערכת יכולה ליצור מופע של מקלט השידור. אם אפשר, כותבים
"true". אם אי אפשר, כותבים"false". ערך ברירת המחדל הוא"true".לרכיב
<application>יש מאפייןenabledמשלו שחל על כל רכיבי האפליקציה, כולל מקלטי שידורים. כדי להפעיל את מקלט השידור, הערכים של המאפיינים<application>ו-<receiver>צריכים להיות"true". אם אחת מהן היא"false", היא מושבתת ואי אפשר ליצור ממנה מופע. android:exported- האם מקלט השידור יכול לקבל הודעות ממקורות שאינם מערכתיים מחוץ לאפליקציה. אם אפשר, כותבים
"true". אם אי אפשר, כותבים"false". אם"false", ההודעות היחידות שמקלט השידורים מקבל הן אלה שנשלחות על ידי המערכת, רכיבים של אותה אפליקציה או אפליקציות עם אותו מזהה משתמש.אם לא מציינים ערך, ערך ברירת המחדל תלוי בשאלה אם מקלט השידור מכיל מסנני כוונות. אם הרכיב מכיל לפחות מסנן Intent אחד, ערך ברירת המחדל הוא
"true". אחרת, ערך ברירת המחדל הוא"false".המאפיין הזה הוא לא הדרך היחידה להגביל את החשיפה החיצונית של מקלט שידורים. אפשר גם להשתמש בהרשאה כדי להגביל את הישויות החיצוניות שיכולות לשלוח הודעות. מידע נוסף מפורט במאפיין
permission. android:icon- סמל שמייצג את מקלט השידורים. המאפיין הזה מוגדר כהפניה למשאב שאפשר לצייר שמכיל את הגדרת התמונה.
אם לא מוגדר סמל, המערכת משתמשת בסמל שצוין לאפליקציה כולה. אפשר לעיין במאפיין
iconשל רכיב<application>.הסמל של מקלט השידור, בין אם הוא מוגדר כאן או על ידי האלמנט
<application>, הוא גם סמל ברירת המחדל לכל מסנני הכוונות של המקלט. אפשר לעיין במאפייןiconשל רכיב<intent-filter>. android:label- תווית שקריאה למשתמש עבור מקלט השידור. אם לא מגדירים את המאפיין הזה, המערכת משתמשת בתווית שהוגדרה לאפליקציה כולה. אפשר לעיין במאפיין
labelשל האלמנט<application>.התווית של מקלט השידור, בין אם היא מוגדרת כאן או על ידי האלמנט
<application>, היא גם התווית שמוגדרת כברירת מחדל לכל מסנני ה-Intent של המקלט. אפשר לעיין במאפייןlabelשל רכיב<intent-filter>.התווית מוגדרת כהפניה למשאב מחרוזת, כדי שאפשר יהיה לבצע לוקליזציה שלה כמו למחרוזות אחרות בממשק המשתמש. עם זאת, כדי שיהיה לכם נוח יותר בזמן פיתוח האפליקציה, אפשר להגדיר אותו גם כמחרוזת גולמית.
android:name- השם של המחלקה שמטמיעה את מקלט השידור, מחלקת משנה של
BroadcastReceiver. זהו שם מחלקה שמוגדר במלואו, כמו"com.example.project.ReportReceiver". עם זאת, כקיצור דרך, אם התו הראשון בשם הוא נקודה, לדוגמה,".ReportReceiver", הוא מצורף לשם החבילה שצוין באלמנט<manifest>.אחרי שמפרסמים את האפליקציה, לא משנים את השם הזה, אלא אם מגדירים את
android:exported="false".אין ברירת מחדל. חובה לציין את השם.
android:permission- שם ההרשאה שנדרשת לשדרנים כדי לשלוח הודעה למקלט השידור.
אם לא מגדירים את המאפיין הזה, חלות על מקלט השידור ההרשאות שמוגדרות במאפיין
permissionשל הרכיב<application>. אם לא מוגדר אף אחד מהמאפיינים, הנמען לא מוגן על ידי הרשאה.מידע נוסף על הרשאות מופיע בקטע הרשאות בסקירה הכללית של קובץ מניפסט של אפליקציה ובטיפים לאבטחה.
android:process
- שם התהליך שבו פועל מקלט השידור.
בדרך כלל, כל הרכיבים של אפליקציה פועלים בתהליך ברירת המחדל שנוצר עבור האפליקציה. השם שלו זהה לשם חבילת האפליקציה.
במאפיין
processשל הרכיב<application>אפשר להגדיר ברירת מחדל שונה לכל הרכיבים. אבל כל רכיב יכול לבטל את ברירת המחדל באמצעות מאפייןprocessמשלו, וכך לאפשר לכם לפצל את האפליקציה לכמה תהליכים.אם השם שמוקצה למאפיין הזה מתחיל בנקודתיים (
:), נוצר תהליך חדש, פרטי לאפליקציה, כשצריך אותו, ומקלט השידור פועל בתהליך הזה.אם שם התהליך מתחיל באות קטנה, המקלט פועל בתהליך גלובלי עם השם הזה, בתנאי שיש לו הרשאה לעשות זאת. כך רכיבים באפליקציות שונות יכולים לשתף תהליך, מה שמקטין את השימוש במשאבים.
- הושק ב:
- רמת API 1
<Receiver>
דוגמאות התוכן והקוד שבדף הזה כפופות לרישיונות המפורטים בקטע רישיון לתוכן. Java ו-OpenJDK הם סימנים מסחריים או סימנים מסחריים רשומים של חברת Oracle ו/או של השותפים העצמאיים שלה.
עדכון אחרון: 2026-07-01 (שעון UTC).
[null,null,["עדכון אחרון: 2026-07-01 (שעון UTC)."],[],[]]