- بناء الجملة:
<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>
- description:
- يعرّف عن جهاز استقبال البث، وهو فئة فرعية
BroadcastReceiver
، بصفته أحد مكوّنات التطبيق. تتيح أجهزة استقبال البث للتطبيقات إمكانية تلقّي الأهداف التي يتم بثها بواسطة النظام أو عن طريق تطبيقات أخرى، حتى في حال عدم تشغيل مكوّنات أخرى للتطبيق.هناك طريقتان لإعلام النظام بجهاز استقبال البث. الأول هو تعريفها في ملف البيان باستخدام هذا العنصر. والطريقة الأخرى هي إنشاء جهاز الاستقبال ديناميكيًا في رمز وتسجيله باستخدام طريقة
Context.registerReceiver()
أو أحد إصداراته التي تم تحميلها بشكلٍ زائد.لمزيد من المعلومات حول طريقة إنشاء أجهزة الاستقبال ديناميكيًا، يُرجى الاطّلاع على وصف فئة
BroadcastReceiver
.إذا كان جهاز الاستقبال هذا يتعامل مع عمليات بث خارج النظام، حدِّد قيمة للحقل
android:exported
. اضبط هذه القيمة على"true"
إذا كنت تريد أن يتمكن جهاز الاستقبال من تلقي عمليات بث من التطبيقات الأخرى أو"false"
إذا كنت تريد أن يتمكن جهاز الاستقبال من تلقي عمليات البث من تطبيقك الخاص فقط.لا تحتاج إلى إزالة السمة
android:permission
إذا سبق أن ذكرتها.تحذير: يحدّ هذا الخيار من عدد أجهزة استقبال البث التي تضبطها في تطبيقك. قد يؤدي وضع عدد كبير جدًا من أجهزة استقبال البث إلى التأثير في أداء التطبيق وعمر البطارية الخاص بأجهزة المستخدمين. لمزيد من المعلومات حول واجهات برمجة التطبيقات التي يمكنك استخدامها بدلاً من الفئة
BroadcastReceiver
لجدولة العمل في الخلفية، راجِع التحسين في الخلفية. - السمات:
android:directBootAware
ما إذا كان جهاز استقبال البث على دراية بالتمهيد المباشر، أي ما إذا كان يمكن تشغيله قبل أن يفتح المستخدم قفل الجهاز
ملاحظة: أثناء التشغيل المباشر، يمكن لجهاز استقبال البث في تطبيقك الوصول فقط إلى البيانات المخزَّنة في وحدة تخزين محمية للأجهزة.
القيمة التلقائية هي
"false"
.android:enabled
- ما إذا كان يمكن إنشاء مثيل لمستلِم البث من خلال النظام أم لا. وهي
"true"
إذا أمكن، و"false"
إذا لم يكن الأمر كذلك. القيمة التلقائية هي"true"
.ويتضمّن العنصر
<application>
سمةenabled
الخاصة به والتي تنطبق على جميع مكوّنات التطبيق، بما في ذلك أجهزة استقبال البث. يجب ضبط السمتَين<application>
و<receiver>
على"true"
حتى يتم تفعيل جهاز استقبال البث. وإذا كان أي مما يلي"false"
، يكون غير مفعّل ولا يمكن إنشاء مثيل له. android:exported
- ما إذا كان بإمكان جهاز استقبال البث تلقّي رسائل من مصادر غير تابعة للنظام
خارج التطبيق والقيمة
"true"
إذا أمكن ذلك و"false"
إذا لم يكن بإمكانك. إذا كان"false"
، تكون الرسائل التي يتلقاها جهاز استقبال البث هي الرسائل التي يرسلها النظام أو مكوّنات التطبيق نفسه أو التطبيقات التي لها رقم تعريف المستخدم نفسه.في حال عدم تحديد القيمة، تعتمد القيمة التلقائية على ما إذا كان جهاز استقبال البث يحتوي على فلاتر أهداف. إذا كان المُستلِم يحتوي على فلتر أهداف واحد على الأقل، تكون القيمة التلقائية هي
"true"
. وبخلاف ذلك، تكون القيمة التلقائية"false"
.إنّ هذه السمة ليست الطريقة الوحيدة لتقييد التعرُّض الخارجي لجهاز استقبال البث. يمكنك أيضًا استخدام إذن للحدّ من الكيانات الخارجية التي يمكنها إرسال رسائل إليها. اطّلِع على السمة
permission
. android:icon
- رمز يمثّل جهاز استقبال البث يتم تعيين هذه السمة كمرجع لمورد قابل للرسم يحتوي على تعريف الصورة.
وإذا لم يتم تعيينه، فسيتم استخدام الرمز المحدد للتطبيق ككل
بدلاً من ذلك. يمكنك الاطّلاع على السمة
icon
للعنصر<application>
.إنّ رمز مستلِم البث، سواء تم ضبطه هنا أو من خلال العنصر
<application>
، هو أيضًا الرمز التلقائي لجميع فلاتر الأهداف لدى المُستلِم. يمكنك الاطّلاع على السمةicon
لعنصر<intent-filter>
. android:label
- تصنيف يمكن للمستخدم قراءته لجهاز استقبال البث إذا لم يتم تعيين هذه السمة،
فسيتم استخدام التسمية المحددة للتطبيق ككل
بدلاً من ذلك. اطّلِع على السمة
label
الخاصة بالعنصر<application>
.إنّ تصنيف جهاز استقبال البث، سواء تم ضبطه هنا أو من خلال العنصر
<application>
، هو أيضًا التصنيف التلقائي لكل فلاتر الأهداف الخاصة بالمستلِم. يمكنك الاطّلاع على السمةlabel
لعنصر<intent-filter>
.يتم ضبط التصنيف كمرجع لمورد سلسلة، بحيث يمكن ترجمته مثل السلاسل الأخرى في واجهة المستخدم. ومع ذلك، لتسهيل عملية تطوير التطبيق، يمكن ضبطه أيضًا كسلسلة أوّلية.
android:name
- اسم الفئة التي تنفّذ جهاز استقبال البث، وهي فئة فرعية من
BroadcastReceiver
. هذا اسم فئة مؤهل بالكامل، مثل"com.example.project.ReportReceiver"
. ومع ذلك، كاختصار، إذا كان الحرف الأول من الاسم عبارة عن نقطة، مثل".ReportReceiver"
، سيتم إلحاقها باسم الحزمة المحددة في العنصر<manifest>
.بعد نشر التطبيق، لا تغير هذا الاسم ما لم تضبط
android:exported="false"
.لا يوجد إعداد افتراضي. يجب تحديد الاسم.
android:permission
- اسم الإذن الذي تحتاجه جهات البث لإرسال رسالة إلى مستقبِل البث
إذا لم يتم ضبط هذه السمة، ينطبق الإذن الذي تم ضبطه في السمة
permission
لعنصر<application>
على جهاز استقبال البث. إذا لم يتم تعيين أي من السمتين، فإن المستلم لا يكون محميًا بإذن.لمزيد من المعلومات حول الأذونات، يُرجى الاطّلاع على قسم الأذونات في نظرة عامة على بيان التطبيق ونصائح الأمان.
android:process
- اسم العملية التي يتم فيها تشغيل جهاز استقبال البث.
عادةً، يتم تشغيل جميع مكونات التطبيق في العملية الافتراضية التي يتم إنشاؤها للتطبيق. وهي تحمل نفس اسم حزمة التطبيق.
يمكن للسمة
process
للعنصر<application>
ضبط قيمة تلقائية مختلفة لجميع المكوّنات. ومع ذلك، يمكن لكل مكوّن إلغاء السمة التلقائية باستخدام سمةprocess
الخاصة بها، ما يسمح لك بنشر التطبيق في عمليات متعدّدة.إذا كان الاسم الذي تم تعيينه لهذه السمة يبدأ بنقطتين (
:
)، يتم إنشاء عملية جديدة خاصة بالتطبيق عند الحاجة إليها، ويتم تشغيل جهاز استقبال البث في هذه العملية.إذا بدأ اسم العملية بحرف صغير، يتم تشغيل جهاز الاستقبال في عملية عامة بهذا الاسم، بشرط أن يكون لديه إذن لإجراء ذلك. يتيح ذلك للمكونات في التطبيقات المختلفة مشاركة العملية، ما يقلل استخدام الموارد.
- تم تقديمه في:
- المستوى 1 من واجهة برمجة التطبيقات
يخضع كل من المحتوى وعيّنات التعليمات البرمجية في هذه الصفحة للتراخيص الموضحّة في ترخيص استخدام المحتوى. إنّ Java وOpenJDK هما علامتان تجاريتان مسجَّلتان لشركة Oracle و/أو الشركات التابعة لها.
تاريخ التعديل الأخير: 2023-10-18 (حسب التوقيت العالمي المتفَّق عليه)
[{
"type": "thumb-down",
"id": "missingTheInformationINeed",
"label":"لا يحتوي على المعلومات التي أحتاج إليها."
},{
"type": "thumb-down",
"id": "tooComplicatedTooManySteps",
"label":"الخطوات معقدة للغاية / كثيرة جدًا."
},{
"type": "thumb-down",
"id": "outOfDate",
"label":"المحتوى قديم."
},{
"type": "thumb-down",
"id": "translationIssue",
"label":"ثمة مشكلة في الترجمة."
},{
"type": "thumb-down",
"id": "samplesCodeIssue",
"label":"مشكلة في العيّنات / التعليمات البرمجية"
},{
"type": "thumb-down",
"id": "otherDown",
"label":"غير ذلك"
}]
[{
"type": "thumb-up",
"id": "easyToUnderstand",
"label":"يسهُل فهم المحتوى."
},{
"type": "thumb-up",
"id": "solvedMyProblem",
"label":"ساعَدني المحتوى في حلّ مشكلتي."
},{
"type": "thumb-up",
"id": "otherUp",
"label":"غير ذلك"
}]
{
"last_modified": "تاريخ التعديل الأخير: 2023-10-18 (حسب التوقيت العالمي المتفَّق عليه)",
"state": ""
}