- תחביר:
<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
דוגמאות התוכן והקוד שבדף הזה כפופות לרישיונות המפורטים בקטע רישיון לתוכן. Java ו-OpenJDK הם סימנים מסחריים או סימנים מסחריים רשומים של חברת Oracle ו/או של השותפים העצמאיים שלה.
עדכון אחרון: 2024-08-22 (שעון UTC).
[[["התוכן קל להבנה","easyToUnderstand","thumb-up"],["התוכן עזר לי לפתור בעיה","solvedMyProblem","thumb-up"],["סיבה אחרת","otherUp","thumb-up"]],[["חסרים לי מידע או פרטים","missingTheInformationINeed","thumb-down"],["התוכן מורכב מדי או עם יותר מדי שלבים","tooComplicatedTooManySteps","thumb-down"],["התוכן לא עדכני","outOfDate","thumb-down"],["בעיה בתרגום","translationIssue","thumb-down"],["בעיה בדוגמאות/בקוד","samplesCodeIssue","thumb-down"],["סיבה אחרת","otherDown","thumb-down"]],["עדכון אחרון: 2024-08-22 (שעון UTC)."],[],[]]