تصف مستندات الخدمات التي تعمل في المقدّمة السلوك الحالي لخدمات Android التي تعمل في المقدّمة. تقدّم هذه المستندات إرشادات حول أفضل الممارسات لمعظم التطبيقات، سواء كانت تستهدف أحدث إصدار من Android أم لا.
توضِّح هذه الصفحة بعضًا من أحدث التغييرات المهمة في خدمات foreground، والتأثيرات على التطبيقات التي لا تستهدف أحدث إصدار من نظام Android الأساسي. في كثير من الحالات، تصبح أفضل الممارسات التي كانت اختيارية للتطبيقات التي تستهدف مستويات أقل لواجهة برمجة التطبيقات إلزامية للتطبيقات التي تستهدف مستويات أعلى لواجهة برمجة التطبيقات.
Android 9 (المستوى 28 من واجهة برمجة التطبيقات)
يقدّم الإصدار 9 من Android إذن
FOREGROUND_SERVICE
. يجب أن يكون هذا الإذن متوفرًا للتطبيقات التي تعمل على الإصدار
9 من نظام التشغيل Android وتستخدم الخدمات التي تعمل في المقدّمة.
إذا حاول تطبيق يستهدف المستوى 28 من واجهة برمجة التطبيقات أو إصدارًا أحدث
إنشاء خدمة تعمل في المقدّمة بدون طلب إذن FOREGROUND_SERVICE
، يُرسِل النظام خطأ SecurityException
.
Android 10 (المستوى 29 لواجهة برمجة التطبيقات)
تنطبق المتطلبات التالية على التطبيقات التي تستهدف المستوى 29 أو أعلى من واجهة برمجة التطبيقات:
- إذا كانت الخدمات التي تعمل في المقدّمة في التطبيق تستخدِم معلومات الموقع الجغرافي، يجب أن يُبلغ التطبيق عن
الخدمة باستخدام نوع الخدمة
location
.
Android 11 (المستوى 30 لواجهة برمجة التطبيقات)
تنطبق المتطلبات التالية على التطبيقات التي تستهدف المستوى 30 أو أعلى لواجهة برمجة التطبيقات:
- إذا كانت الخدمات التي تعمل في المقدّمة في أحد التطبيقات تستخدم الكاميرا أو الميكروفون، يجب أن يُبلغ التطبيق
عن الخدمة باستخدام نوع الخدمة
camera
أوmicrophone
على التوالي.
Android 12 (المستوى 31 لواجهة برمجة التطبيقات)
تنطبق المتطلبات التالية على التطبيقات التي تستهدف المستوى 31 أو أعلى لواجهة برمجة التطبيقات:
- لا يُسمح للتطبيقات بتشغيل الخدمات التي تعمل في المقدّمة عندما يكون التطبيق قيد التشغيل في الخلفية، باستثناء بعض الحالات المحدّدة. لمزيد من المعلومات، ومعلومات عن استثناءات هذه القاعدة، يُرجى الاطّلاع على القيود المفروضة على بدء خدمة تعمل في المقدّمة من الخلفية.
Android 14 (المستوى 34 لواجهة برمجة التطبيقات)
تنطبق المتطلبات التالية على التطبيقات التي تستهدف المستوى 34 أو مستوى أحدث لواجهة برمجة التطبيقات:
- عليك تقديم بيان عن جميع الخدمات التي تعمل في المقدّمة مع أنواعها.
- يجب أن تطلب التطبيقات نوع الإذن المناسب لنوع العمل الذي ستُجريه
الخدمة التي تعمل في المقدّمة. لكل نوع خدمة تعمل في المقدّمة
نوع إذن مناظر. على سبيل المثال، إذا كان التطبيق يشغّل
خدمة تعمل في المقدّمة تستخدم الكاميرا، يجب طلب الإذنين
FOREGROUND_SERVICE
وFOREGROUND_SERVICE_CAMERA
. إذا كان التطبيق يستهدف المستوى 34 أو مستوى أحدث لواجهة برمجة التطبيقات ولا يطلب الإذن المحدّد المناسب، يعرض النظام سوىSecurityException
.
Android 15 (المستوى 35 لواجهة برمجة التطبيقات)
تنطبق المتطلبات التالية على التطبيقات التي تستهدف المستوى 35 أو أعلى من واجهة برمجة التطبيقات:
- تم فرض قيود جديدة على مدّة
dataSync
التي يمكن أن تعمل فيها الخدمة التي تعمل في المقدّمة. يتم وصف هذه القيود في سلوك مهلة الخدمة التي تعمل في المقدّمة. تنطبق قيود مشابهة على نوع الخدمة التي تعمل في المقدّمةmediaProcessing
(النوع الجديد في Android 15). - لم يعُد مسموحًا لخدمات
BOOT_COMPLETED
التي تعمل في المقدّمة بتشغيل خدمات معيّنة تعمل في المقدّمة. - لا يُسمح للتطبيقات التي تمتلك إذن
SYSTEM_ALERT_WINDOW
ببدء الخدمات التي تعمل في المقدّمة من الخلفية إلا إذا كانت تحتوي حاليًا على نافذة تراكب مرئية (أو إذا كانت تستوفي أحد الإعفاءات الأخرى من قيود بدء العمل في الخلفية). في السابق، كان الإعفاء من هذه الأحكام ينطبق على مجموعة أوسع من التطبيقات.