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