الخدمات

الإعلانات

الخدمات <service>

 

 

الخدمات <service>

بناء الجملة:

وارد في:
التطبيقات

يمكن أن يحتوي على:

مرشحات الغرض
البيانات الوصفيه

الوصف:

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

 

على عكس الأنشطة، تفتقر الخدمات إلى واجهة مستخدم مرئيه. تستخدم الخدمات لإجراء عمليات طويلة الأمد في الخلفية أو

واجهة برمجة تطبيقات غنية بالإتصالات التي يمكن إستدعاؤها بواسطة تطبيقات أخرى.

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

 

السمات:

android:description

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

android:directBootAware

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

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

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

 

android:enabled

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

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

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

يجب أن تكون قيمة كلٍ من السمتين تطبيق و “خدمة” على القيمة “صحيح” (كما هما إفتراضياً) ليتم تمكين الخدمة.

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

android:exported

ما إذا كان بإمكان مكونات التطبيق الأخرى أن تقوم بإستدعاء الخدمة أو تتفاعل معها – تأخذ القيمة “صحيح” إذا كانت قادرة، وتأخذ القيمة “خطأ” إن لم تكن قادرة.

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

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

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

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

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

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

android:icon

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

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

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

android:isolatedProcess

إذا تم تعيين هذه السمة على القيمة “صحيح”، سيتم تشغيل هذه الخدمة تحت عملية خاصة معزولة عن بقية النظام وليس لها أذونات خاصة بها.

و الإتصال الوحيد معها من خلال واجهة برمجة التطبيقات للخدمة (الإرتباط و البدء).

android:label

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

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

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

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

android:name

اسم الفئة الفرعية للخدمة التي تقوم بتنفيذ الخدمة.

يجب أن يكون اسم الفئة مؤهل بالكامل مثل (“com.example.project.RoomService“).

مع ذلك كإختصار، إذا كان الحرف الأول من الاسم عبارة عن نقطه (مثال، “RoomService.“)، يتم إلحاقه إلى اسم الحزمة المعين في عنصر الإيضاح.

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

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

android:permission

اسم الأذن التي يجب أن تكون لدى الكيان من أجل تشغيل الخدمة أو الإرتباط بها.

في حالة كان إستدعاء ()startService(), bindService(), stopService لم يتم منح هذا الأذن، فإن الداله لن تعمل وكائن الغرض لن يتم تسليمه للخدمة.

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

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

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

android:process

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

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

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

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

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

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

راجع أيضاً:
التطبيق
النشاط

مقدم في:
API 1.

 


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