في بيان تطبيقك، يجب الإشارة إلى كل خدمة من الخدمات التي تعمل في المقدّمة
باستخدام عنصر <service>. لكل خدمة، استخدِم
سمة android:foregroundServiceType
للإعلان عن نوع العمل الذي تؤديه الخدمة.
بالإضافة إلى ذلك، اطلب أي أذونات تحتاج إليها الخدمات التي تعمل في المقدّمة.
التوافق مع الإصدارات
تختلف متطلبات الإفصاح عن الخدمات التي تعمل في المقدّمة وطلب الأذونات حسب مستوى واجهة برمجة التطبيقات الذي يستهدفه تطبيقك. توضّح هذه الصفحة متطلبات التطبيقات التي تستهدف المستوى 34 أو أعلى من واجهة برمجة التطبيقات. للحصول على معلومات حول التغييرات التي طرأت على الخدمات التي تعمل في المقدّمة في إصدارات النظام الأساسي السابقة، يُرجى الاطّلاع على التغييرات التي طرأت على الخدمات التي تعمل في المقدّمة.
الإعلان عن الخدمات التي تعمل في المقدّمة في بيان التطبيق
يوضّح الرمز التالي كيفية الإعلان عن خدمة تعمل في المقدّمة لتشغيل الوسائط. يمكنك استخدام خدمة مثل هذه لتشغيل الموسيقى.
<manifest xmlns:android="http://schemas.android.com/apk/res/android" ...>
<application ...>
<service
android:name=".MyMediaPlaybackService"
android:foregroundServiceType="mediaPlayback"
android:exported="false">
</service>
</application>
</manifest>
نقاط رئيسية حول الرمز
في هذا المثال، تتضمّن الخدمة نوعًا واحدًا فقط، وهو
media. إذا كانت خدمتك تندرج ضمن أنواع متعددة، افصل بينها باستخدام عامل التشغيل|. على سبيل المثال، إذا كانت الخدمة تستخدم الكاميرا والميكروفون، يجب الإعلان عن ذلك على النحو التالي:android:foregroundServiceType="camera|microphone"بناءً على مستوى واجهة برمجة التطبيقات الذي يستهدفه تطبيقك، قد يكون من الضروري الإفصاح عن الخدمات التي تعمل في المقدّمة في بيان التطبيق. يتم توضيح متطلبات مستويات معيّنة من واجهة برمجة التطبيقات في مقالة التغييرات على الخدمات التي تعمل في المقدّمة.
إذا حاولت إنشاء خدمة تعمل في المقدّمة ولم يتم تحديد نوعها في البيان، سيُظهر النظام الخطأ
MissingForegroundServiceTypeExceptionعند استدعاءstartForeground().حتى إذا لم يكن ذلك مطلوبًا، من أفضل الممارسات الإفصاح عن جميع الخدمات التي تعمل في المقدّمة وتقديم أنواعها.
طلب أذونات الخدمات التي تعمل في المقدّمة
يوضّح الرمز التالي كيفية طلب أذونات لخدمة تعمل في المقدّمة وتستخدم الكاميرا.
<manifest xmlns:android="http://schemas.android.com/apk/res/android" ...>
<uses-permission android:name="android.permission.FOREGROUND_SERVICE"/>
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_CAMERA"/>
<application ...>
...
</application>
</manifest>
نقاط رئيسية حول الرمز
- يستخدم هذا الرمز أفضل الممارسات لتطبيق يستهدف المستوى 34 أو أعلى من واجهة برمجة التطبيقات.