تغييرات على الخدمات التي تعمل في المقدّمة

توضّح مستندات الخدمات التي تعمل في المقدّمة السلوك الحالي لهذه الخدمات في Android. وتقدّم المستندات إرشادات حول أفضل الممارسات لمعظم التطبيقات، سواء كانت تستهدف أحدث إصدار من Android أم لا.

توضّح هذه الصفحة بعض التغييرات المهمة الأخيرة التي تم إجراؤها على الخدمات التي تعمل في المقدّمة، وتأثيرها على التطبيقات التي لا تستهدف أحدث إصدار من نظام Android الأساسي. في كثير من الحالات، تصبح أفضل الممارسات التي كانت اختيارية للتطبيقات التي تستهدف مستويات واجهة برمجة التطبيقات الأدنى إلزامية للتطبيقات التي تستهدف مستويات واجهة برمجة التطبيقات الأعلى.

‫Android 16 (المستوى 36 من واجهة برمجة التطبيقات)

تنطبق التغييرات التالية على التطبيقات التي تعمل بنظام التشغيل Android 16 أو الإصدارات الأحدث، بغض النظر عن مستوى واجهة برمجة التطبيقات الذي تستهدفه:

  • أما المهام في الخلفية التي تبدأ من خدمة تعمل في المقدّمة، فيجب أن تلتزم الآن بحصص وقت التشغيل الخاصة بها. ويشمل ذلك المهام المجدوَلة مباشرةً باستخدام JobScheduler، بالإضافة إلى المهام التي تم إنشاؤها بواسطة مكتبات أخرى، مثل WorkManager أو DownloadManager.

    لنقل البيانات استجابةً لإجراء من المستخدم، ننصحك باستخدام مَهمة نقل البيانات التي يبدأها المستخدم. يتم إعفاء هذه الوظائف من حصص الوظائف العادية.

‫Android 15 (المستوى 35 من واجهة برمجة التطبيقات)

تنطبق المتطلبات التالية على التطبيقات التي تستهدف المستوى 35 أو أعلى من واجهة برمجة التطبيقات:

‫Android 14 (مستوى واجهة برمجة التطبيقات 34)

تنطبق المتطلبات التالية على التطبيقات التي تستهدف المستوى 34 أو أعلى من واجهة برمجة التطبيقات:

‫Android 12 (مستوى واجهة برمجة التطبيقات 31)

تنطبق المتطلبات التالية على التطبيقات التي تستهدف المستوى 31 أو أعلى لواجهة برمجة التطبيقات:

‫Android 11 (مستوى واجهة برمجة التطبيقات 30)

تنطبق المتطلبات التالية على التطبيقات التي تستهدف المستوى 30 أو أعلى لواجهة برمجة التطبيقات:

  • إذا كانت الخدمات التي تعمل في المقدّمة في أحد التطبيقات تستخدم الكاميرا أو الميكروفون، يجب أن يُعلن التطبيق عن الخدمة باستخدام نوع الخدمة camera أو microphone على التوالي.

‫Android 10 (المستوى 29 من واجهة برمجة التطبيقات)

تنطبق المتطلبات التالية على التطبيقات التي تستهدف المستوى 29 من واجهة برمجة التطبيقات أو الإصدارات الأحدث:

  • إذا كانت الخدمات التي تعمل في المقدّمة في أحد التطبيقات تستخدم معلومات الموقع الجغرافي، يجب أن يُعلن التطبيق عن الخدمة باستخدام نوع الخدمة location.

‫Android 9 (المستوى 28 من واجهة برمجة التطبيقات)

يقدّم Android 9 الإذن FOREGROUND_SERVICE. ويجب أن تحصل التطبيقات التي تعمل على الإصدار Android 9 وتستخدم خدمات تعمل في المقدّمة على هذا الإذن.

إذا حاول تطبيق يستهدف المستوى 28 أو أعلى من واجهة برمجة التطبيقات إنشاء خدمة تعمل في المقدّمة بدون طلب إذن FOREGROUND_SERVICE، سيُظهر النظام رسالة SecurityException.