<service>

بناء الجملة:
<service android:description="string resource"
         android:directBootAware=["true" | "false"]
         android:enabled=["true" | "false"]
         android:exported=["true" | "false"]
         android:foregroundServiceType=["camera" | "connectedDevice" |
                                        "dataSync" | "health" | "location" |
                                        "mediaPlayback" | "mediaProjection" |
                                        "microphone" | "phoneCall" |
                                        "remoteMessaging" | "shortService" |
                                        "specialUse" | "systemExempted"]
         android:icon="drawable resource"
         android:isolatedProcess=["true" | "false"]
         android:label="string resource"
         android:name="string"
         android:permission="string"
         android:process="string" >
    ...
</service>
الواردة في:
<application>
يمكن أن يحتوي على:
<intent-filter>
<meta-data>
description:
يعرّف عن خدمة، فئة فرعية Service، باعتبارها فئة واحدة لمكونات التطبيق. على عكس الأنشطة، تفتقر الخدمات إلى واجهة مستخدم مرئية. وتُستخدم لتطبيق خلفية على المدى الطويل العمليات أو واجهة برمجة تطبيقات الاتصالات التفاعلية التي يمكن أن تستدعيها التطبيقات.

يجب أن يتم تمثيل جميع الخدمات بعناصر <service> في ملف البيان. لا تتم رؤية أي سمات لم يتم الإعلان عنها. بواسطة النظام ولا يتم تشغيلها أبدًا.

ملاحظة: في الإصدار Android 8.0 (المستوى 26 من واجهة برمجة التطبيقات) والإصدارات الأحدث، سيفرض النظام حدودًا ما يمكن لتطبيقك تنفيذه أثناء تشغيله في الخلفية. بالنسبة على مزيد من المعلومات، فراجع الأدلة التي تناقش حدود التنفيذ في الخلفية موقع الخلفية .

:
android:description
سلسلة تصف الخدمة ويمكن للمستخدم قراءتها تم تعيين الوصف باعتباره مرجعًا إلى مورد سلسلة، بحيث يمكن ترجمته مثل السلاسل الأخرى في واجهة المستخدم.
android:directBootAware

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

ملاحظة: خلال التشغيل المباشر، وهي خدمة في يمكن لتطبيقك الدخول إلى البيانات المخزنة في حماية الجهاز

القيمة التلقائية هي "false".

android:enabled
ما إذا كان بإمكان النظام إنشاء مثيل للخدمة. من المهم "true" إذا كان ذلك ممكنًا، و"false" إذا لم يكن ممكنًا. القيمة التلقائية "true".

العنصر <application> له خاصية سمة enabled التي تنطبق على الكل مكونات التطبيق، بما في ذلك الخدمات. تشير رسالة الأشكال البيانية <application> و<service> يجب أن تكون كلتا السمتين "true"، لأنهما كلاهما بشكل افتراضي، لكي يتم تمكين الخدمة. إذا كانت أيّ منهما "false"، تم إيقاف الخدمة ولا يمكن إنشاء مثيل لها.

android:exported
ما إذا كان من الممكن استدعاء مكونات التطبيقات الأخرى الخدمة أو التفاعل معها. يبلغ السعر "true" إذا تمكّنوا من ذلك، "false" إذا لم يكن كذلك. عندما تكون القيمة "false"، يتم مكونات التطبيق نفسه أو التطبيقات بنفس معرف المستخدم بدء الخدمة أو الربط بها.

تعتمد القيمة التلقائية على ما إذا كانت الخدمة تحتوي على فلاتر أهداف. تشير رسالة الأشكال البيانية ويعني عدم توفّر أي فلاتر أنّه لا يمكن استدعاءها إلا من خلال تحديد اسم فئته بالضبط. وهذا يعني أن الخدمة مخصصة فقط الاستخدام الداخلي للتطبيق، إذ لا يعرف الآخرون اسم الفئة. لذلك، في في هذه الحالة، تكون القيمة التلقائية "false". من ناحية أخرى، يشير وجود فلتر واحد على الأقل إلى أنّ الخدمة مخصصة للاستخدام الخارجي، لذا فإن القيمة التلقائية هي "true".

إنّ هذه السمة ليست الطريقة الوحيدة لفرض قيود على عرض خدمة ما التطبيقات. ويمكنك أيضًا استخدام إذن لتحديد الكيانات الخارجية التي التفاعل مع الخدمة. يمكنك الاطّلاع على permission. .

android:foregroundServiceType

لتحديد أن الخدمة التي تعمل في المقدّمة وتستوفي في حالة استخدام معينة. على سبيل المثال، نوع الخدمة التي تعمل في المقدّمة تشير القيمة ""location"" إلى أنّ التطبيق يحصل على جهاز حالي. موقعك، عادةً إلى متابعة إجراء ينفّذه المستخدم يتعلق بالموقع الجغرافي للجهاز

يمكنك تحديد أنواع متعدّدة من الخدمات التي تعمل في المقدّمة إلى نوع محدّد. خدمة ما.

android:icon
رمز يمثّل الخدمة تم ضبط هذه السمة على أنّها مرجعًا لمورد قابل للرسم يحتوي على تعريف الصورة. إذا لم يتم تعيينه، فسيُرمز الرمز المحدّد للتطبيق ككل بدلاً من ذلك. يمكنك الاطّلاع على <application>. السمة icon للعنصر.

رمز الخدمة، سواء تم ضبطه هنا أو بواسطة عنصر <application>، هو أيضًا الرمز التلقائي لجميع فلاتر الأهداف الخاصة بالخدمة. يمكنك الاطّلاع على عنصر <intent-filter> السمة icon.

android:isolatedProcess
في حال ضبط هذه السياسة على "true"، يتم تشغيل هذه الخدمة ضمن عملية خاصة معزولة عن بقية النظام وليس لديه أذونات خاصة به. ويكون الاتصال بها من خلال واجهة برمجة تطبيقات الخدمة، مع الارتباط والبدء.
android:label
اسم الخدمة سهل القراءة للمستخدم. وفي حال عدم ضبط هذه السمة، سيتم ضبط التصنيف للتطبيق ككل على النحو التالي: استخدامه بدلاً من ذلك. إليك العنصر <application> السمة label.

تصنيف الخدمة، سواء تم ضبطه هنا أو بواسطة عنصر <application>، هو أيضًا التصنيف التلقائي لجميع فلاتر الأهداف للخدمة. يمكنك الاطّلاع على عنصر <intent-filter> السمة label.

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

android:name
اسم الفئة الفرعية Service التي تنفّذ الخدمة. هذا اسم فئة مؤهل بالكامل، مثل "com.example.project.RoomService" ومع ذلك، كاختصار، إذا يكون الحرف الأول من الاسم نقطة، مثل ".RoomService"، يتم إلحاقه باسم الحزمة المحددة في العنصر <manifest>

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

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

android:permission
اسم الإذن الذي يحتاجه كيان من أجل إطلاق الخدمة أو الالتزام بها. إذا قام المتصل بـ startService(), bindService()، أو stopService() لم يتم منحه هذا الإذن، فإن الطريقة لا تعمل لم يتم تسليم العنصر Intent إلى الخدمة.

إذا لم يتم ضبط هذه السمة، سيتم منح الإذن الذي تحدّده السمة عنصر <application> permission على الخدمة. وإذا لم يتم تعيين أي من السمتين، لن يتم تعيين الخدمة محميًا بإذن.

لمزيد من المعلومات حول الأذونات، يمكنك الاطّلاع على الأذونات في نظرة عامة على بيان التطبيق إرشادات الأمان:

android:process
اسم العملية التي يتم تشغيل الخدمة فيها. في العادة، تشغيل جميع مكونات التطبيق في العملية الافتراضية التي يتم إنشاؤها التطبيق. تحمل نفس اسم حزمة التطبيق. تشير رسالة الأشكال البيانية عنصر <application> process تعيين قيمة مختلفة افتراضيًا لجميع المكونات. ولكن يمكن للمكون تجاوز الإعداد الافتراضي مع سمة process الخاصة بها، ما يتيح لك نشر تطبيقها عبر عمليات متعددة.

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

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

راجِع أيضًا:
<application>
<activity>
تم تقديمها في:
المستوى 1 من واجهة برمجة التطبيقات