المستقبل

الإعلانات

المستقبل <receiver>

 

المستقبل <receiver>

بناء الجملة:

وارد في:

التطبيق

يمكن أن يحتوي على:
مرشح غرض
بيانات وصفية

الوصف:

يعلن عن مستقبل بث (فئة فرعية من مستقبل البث) كأحد مكونات التطبيق.

هي مستقبلات بث تمكن التطبيقات من تلقي الأغراض التي يبثها النظام أو التطبيقات الأخرى، حتى لو لم يتم تشغيل المكونات الأخرى للتطبيق.

هناك طريقتان لإنشاء مستقبل بث معروف للنظام: أحدها الإعلان عنه في ملف الإيضاح بواسطة هذا العنصر.

و الأخرى بإنشاء المستقبل بشكلٍ فعّال في الكود وتسجيله بإستخدام الداله ()Context.registerReceiver.

لمزيد من المعلومات حول كيفية إنشاء المستقبلات بشكلٍ فعّال، راجع وصف فئة مستقبل البث.

 

تحذير: قم بتقييد عدد مستقبلات البث التي تعينها في تطبيقك. قد يؤثر وجود العديد من مستقبلات البث على أداء التطبيق و عمر البطارية لأجهزة المستخدمين.

لمزيد من المعلومات حول واجهة برمجة التطبيقات، يمكنك بدلاً من ذلك إستخدام فئة مستقبل البث لجدولة العمل في الخلفية، راجع تحسينات الخلفية.

 

السمات:

android:directBootAware

ما إذا كان مستقبل البث يدعم التشغيل المبدئي أم لا؛ أي يمكن تشغيله قبل قيام المستخدم بإلغاء قفل الجهاز أم لا.

ملاحظة: خلال التشغيل المبدئي، لا يمكن لمستقبل البث في تطبيقك الوصول سوى للبيانات المخزنة في التخزين المحمي بواسطة الجهاز.

القيمة الإفتراضية “خطأ”.

android:enabled

ما إذا كان بالإمكان تمثيل مستقبل البث بواسطة النظام أم لا – يأخذ القيمة “صحيح” إذا أمكن تمثيله، ويأخذ القيمة “خطأ” إذا لم يكن ممكناً تمثيله.

القيمة الإفتراضية هي “صحيح”.

عنصر التطبيق يحتوي على سمة مُمكنة خاصة به تطبق على كافة مكونات التطبيق، بما في ذلك مستقبلات البث.

يجب أن تكون قيمة كلٍ من السمتين تطبيق و مستقبل معينه على القيمه “صحيح” ليتم تمكين مستقبل البث.

إذا كانت أحدهما على القيمة “خطأ”، فسيتم تعطيلها؛ لا يمكن إنشاء مثيل لها.

 

android:exported

ما إذا كان بإمكان مستقبل البث إستقبال رسائل من مصادر خارج التطبيق – يأخذ القيمة “صحيح” إذا كان ذلك ممكناً، ويأخذ القيمة “خطأ” إن لم يكن ممكناً.

إذا كانت القيمة “خطأ”، فإن الرسائل الوحيدة التي سيتلقاها مستقبل البث هي الرسائل المرسلة..

من مكونات نفس التطبيق أو من التطبيقات التي لها نفس معرف المستخدم.

القيمة الإفتراضية تعتمد على ما إذا كان مستقبل البث يحتوي على مرشحات غرض أو لا.

غياب أي مرشحات يعني بأنه يمكن تنفيذه فقط بواسطة كائنات الغرض التي تحدد اسم فئته بالضبط.

وهذا يعني أن المستقبل معد فقط للإستخدام الداخلي للتطبيق (حيث أن التطبيقات الأخرى لا تعرف اسم الفئة عادة).

في هذه الحاله، تكون القيمة الإفتراضية “خطأ”.

من ناحية أخرى، وجود مرشح واحد على الأقل يعني أن مستقبل البث معد لإستقبال الأغراض التي يبثها النظام أو التطبيقات الأخرى، لذا تكون القيمة الإفتراضية “صحيح”.

هذه السمة ليست الطريقة الوحيدة للحد من التعرض الخارجي لمستقبل البث.

يمكنك أيضاً إستخدام أذونة لتقييد الكيانات الخارجية التي يمكنها أن ترسل رسائل لها (راجع سمة الأذونات).

 

android:icon

أيقونة تمثل مستقبل البث. يجب تعيين هذه السمة كمرجع لمصدر رسومي يحتوي على تعريف صورة.

إذا لم يتم تعيينها، فبدلاً من ذلك ستستخدم الأيقونة المعدة للتطبيق ككل (راجع سمة أيقونة في عنصر التطبيق).

أيقونة مستقبل البث – سواء تم تعيينها هنا أو بواسطة عنصر التطبيق – فهي أيضاً الأيقونة الإفتراضية لجميع مرشحات الغرض المستقبله (راجع سمة أيقونة في عنصر مرشح الغرض).

 

android:label

مسمى قابل للقراءة لمستقبل البث.

إذا لم يتم تعيين هذه السمة، فإن المسمى المعد للتطبيق سيستخدم ككل (راجع سمة مسمى في عنصر التطبيق).

مسمى مستقبل البث – سواء تم تعيينه هنا أو بواسطة عنصر التطبيق – فهو أيضاً يمثل القيمة الإفتراضية لكافة مرشحات الغرض المستقبله (راجع سمة مسمى في عنصر مرشح الغرض).

يجب تعيين المسمى كمرجع لمصدر سلسلة، بحيث يمكن ترجمته في واجهة المستخدم كبقية السلاسل.

مع ذلك، أثناء تطويرك للتطبيق، يمكنك تعيينها أيضاً كسلسلة خام لكي تكون ملائمه.

 

android:name

اسم الفئة التي تقوم بتنفيذ مستقبل البث، وهي فئة فرعية من مستقبل البث.

يجب أن يكون اسم الفئة مؤهل بالكامل مثل (“com.example.project.ReportReceiver“). مع ذلك كإختصار، إذا كان الحرف الأول من الاسم عبارة عن نقطة

مثل ( ” ReportReceiver.”) سيتم إلحاقه باسم الحزمة المحدد في عنصر الإيضاح.

بمجرد نشر تطبيقك، يجب عليك عدم تغيير هذا الاسم (إلا إذا قمت بتعيين "android:exported="false).

لا يوجد قيمة إفتراضية، يجب تحديد الاسم.

android:permission

اسم الأذونة التي يجب أن تتوفر للبث لإرسال رسالة لمستقبل البث.

إذا لم تعين هذه السمة، فإن الأذونة المعينة بواسطة سمة الأذونة في عنصر التطبيق سوف يتم تطبيقها على مستقبل البث.

إذا لم تعين أي من السمتين، فإن مستقبل البث لن يكون محمي بواسطة الأذونات.

لمزيد من المعلومات حول الأذونات، راجع قسم الأذونات في المقدمة و مستند الأمان و الأذونات.

android:process

اسم العملية التي يجب أن يعمل بها مستقبل البث. عادة يتم تشغيل كافة مكونات التطبيق في العملية الإفتراضية التي تم إنشاؤها للتطبيق.

يحمل نفس اسم حزمة التطبيق. يمكن لسمة عملية في عنصر التطبيق تعيين إعداد إفتراضي مختلف لكافة المكونات.

ولكن بإمكان كل مكون تجاوز الإعداد الإفتراضي بواسطة سمة العملية الخاصة به، مما يسمح لك بنشر تطبيقك عبر عدة عمليات.

إذا كان الاسم المعين لهذه السمة يبدأ بنقطتين رأسيتين (‘:’)، سيتم إنشاء عملية جديدة خاصة بالتطبيق عند الحاجة ويتم تشغيل مستقبل البث في هذه العمليه.

إذا كان اسم العملية يبدأ بحرف صغير، سيتم تشغيل مستقبل البث في عملية عامه لهذا الاسم، بشرط أن يكون لديه أذن للقيام بذلك.

يسمح هذا للمكونات في عدة تطبيقات بمشاركة عمليه ما، مما يقلل من إستخدام المصادر.

مقدم في:
API 1.

 


للإطلاع على المقال باللغة الإنجليزية أضغط هنا.

الإعلانات