<Recipientr>

بناء الجملة:
<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 من واجهة برمجة التطبيقات