- بناء الجملة:
<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"
، هي الرسائل الوحيدة التي المستلمة هي تلك التي يرسلها النظام أو مكونات التطبيق نفسه أو التطبيقات برقم تعريف المستخدم نفسه.في حال عدم تحديد القيمة، ستعتمد القيمة التلقائية على ما إذا كان مستقبل البث يتضمّن intent. والفلاتر. إذا كان المُستلِم يحتوي على فلتر أهداف واحد على الأقل، فإن القيمة التلقائية هي
"true"
وبخلاف ذلك، تكون القيمة التلقائية هي"false"
.هذه السمة ليست الطريقة الوحيدة لتقييد التعرّض الخارجي لاستقبال البث. يمكنك أيضًا استخدام إذن لتقييد الكيانات الخارجية التي يمكنها إرسال الرسائل. اطّلِع على السمة
permission
. android:icon
- رمز يمثّل جهاز استقبال البث تم ضبط هذه السمة.
كمرجع لمورد قابل للرسم يحتوي على تعريف الصورة.
إذا لم يتم ضبطه، يتم استخدام الرمز المحدّد للتطبيق بالكامل
بدلاً من ذلك. يمكنك الاطّلاع على
<application>
. السمةicon
للعنصر.رمز مستلم البث، سواء تم تعيينه هنا أو بواسطة عنصر
<application>
، هو أيضًا الرمز التلقائي لكل فلاتر الأهداف لدى المستلِم. يمكنك الاطّلاع على عنصر<intent-filter>
السمةicon
. android:label
- تصنيف سهل القراءة للمستخدم لمستقبِل البث وإذا لم تكن هذه السمة
المجموعة، يتم تعيين التصنيف للتطبيق ككل
استخدامه بدلاً من ذلك. إليك العنصر
<application>
السمةlabel
.تصنيف مستلم البث، سواء تم ضبطه هنا أو بواسطة عنصر
<application>
، هو أيضًا تصنيف تلقائي لجميع فلاتر الأهداف لدى المُستلِم. يمكنك الاطّلاع على عنصر<intent-filter>
السمةlabel
.يتم تعيين التسمية كمرجع لمورد السلسلة، بحيث يمكن ترجمتها مثل السلاسل الأخرى في واجهة المستخدم. ومع ذلك، ولتسهيل الأمر أثناء تطوير التطبيق، ويمكن أيضًا ضبطه كسلسلة أولية.
android:name
- اسم الفئة التي تنفذ مستقبل البث، وهو فئة فرعية من
BroadcastReceiver
هذا فريق مؤهل بالكامل اسم الفئة، مثل"com.example.project.ReportReceiver"
. ومع ذلك، كاختصار، إذا كان الحرف الأول من الاسم نقطة، على سبيل المثال،".ReportReceiver"
، سيتم إلحاقه باسم الحزمة المحدّد في العنصر<manifest>
.بعد نشر التطبيق، لا تغيير هذا الاسم، ما لم يتم ضبط
android:exported="false"
.لا يوجد إعداد افتراضي. يجب تحديد الاسم.
android:permission
- اسم الإذن الذي تحتاجه جهات البث لإرسال
إلى مستقبل البث.
إذا لم يتم ضبط هذه السمة، سيتم منح الإذن الذي تحدّده السمة
عنصر
<application>
تنطبق السمةpermission
إلى مستقبل البث. إذا لم يتم تعيين أي من السمتين، فإن المستلِم غير محمي بإذن.لمزيد من المعلومات حول الأذونات، يمكنك الاطّلاع على الأذونات في نظرة عامة على بيان التطبيق نصائح الأمان:
android:process
- اسم العملية التي يتم فيها تشغيل جهاز استقبال البث.
عادةً، تعمل جميع مكونات التطبيق في العملية الافتراضية التي يتم إنشاؤها
للتطبيق. تحمل نفس اسم حزمة التطبيق.
تشير رسالة الأشكال البيانية عنصر
<application>
يمكن للسمةprocess
ضبط قيمة مختلفة افتراضيًا لجميع المكونات. ولكن يمكن لكل مكون إلغاء الإعداد الافتراضي مع سمةprocess
الخاصة بها، ما يتيح لك نشر تطبيقها عبر عمليات متعددة.إذا كان الاسم المعيّن لهذه السمة يبدأ بنقطتين (
:
)، تكون قيمة عملية خاصة بالتطبيق، عند الحاجة، يعمل مستقبل البث في هذه العملية.إذا كان اسم العملية يبدأ بحرف صغير، يبدأ المُستلِم في عملية عمومية بهذا الاسم، بشرط أن يكون لديه إذن بالقيام بذلك. وهذا يتيح للمكونات في التطبيقات المختلفة مشاركة عملية، مما يقلل استخدام الموارد.
- تم تقديمها في:
- المستوى 1 من واجهة برمجة التطبيقات
يخضع كل من المحتوى وعيّنات التعليمات البرمجية في هذه الصفحة للتراخيص الموضحّة في ترخيص استخدام المحتوى. إنّ Java وOpenJDK هما علامتان تجاريتان مسجَّلتان لشركة Oracle و/أو الشركات التابعة لها.
تاريخ التعديل الأخير: 2024-08-22 (حسب التوقيت العالمي المتفَّق عليه)
[null,null,["تاريخ التعديل الأخير: 2024-08-22 (حسب التوقيت العالمي المتفَّق عليه)"],[],[]]