تغييرات على أنواع الخدمات التي تعمل في المقدّمة لنظام التشغيل Android 15
تنظيم صفحاتك في مجموعات
يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.
سنُجري التغييرات التالية على أنواع الخدمات التي تعمل في المقدّمة في Android
15.
- نوع الخدمة التي تعمل في المقدّمة المطلوب تقديم بيان عنها في البيان ضمن
android:foregroundServiceType
mediaProcessing
- الإذن المطلوب تضمينه في بيان التطبيق
FOREGROUND_SERVICE_MEDIA_PROCESSING
- ثابت يتم تمريره إلى
startForeground()
FOREGROUND_SERVICE_TYPE_MEDIA_PROCESSING
- المتطلبات الأساسية لوقت التشغيل
- بدون
- الوصف
خدمة لتنفيذ عمليات تستغرق وقتًا طويلاً على مواد عرض الوسائط، مثل
تحويل الوسائط إلى تنسيقات مختلفة يسمح النظام لهذه الخدمة بوقت محدود
للعمل. وفي الظروف العادية، يكون هذا الحدّ الزمني 6 ساعات من
كل 24 ساعة. (تتم مشاركة هذا الحدّ بين جميع خدمات mediaProcessing
التي تعمل في المقدّمة في التطبيق).
يجب أن يوقف تطبيقك يدويًا خدمة معالجة الوسائط في السيناريو التالي:
في حال بلوغ فترة المهلة، يستدعي النظام طريقة
Service.onTimeout(int, int)
في الخدمة. في هذه
اللحظة، تتوفّر للخدمة بضع
ثواني للاتصال بالرقم Service.stopSelf()
. إذا لم تطلب الخدمة
Service.stopSelf()
، سيحدث خطأ ANR مع ظهور رسالة الخطأ التالية: "لم يتم إيقاف
الخدمة التي تعمل في المقدّمة من النوع <fgs_type> خلال مهلة الانتظار: <component_name>".
ملاحظة: لا تتوفّر Service.onTimeout(int, int)
على الإصدار 14 من نظام التشغيل Android
أو الإصدارات الأقدم. على الأجهزة التي تعمل بالإصدارات السابقة، إذا انتهت مهلة خدمة معالجة الوسائط، يُخزِّن النظام التطبيق في ذاكرة التخزين المؤقت على الفور.
لهذا السبب، يجب ألا ينتظر تطبيقك تلقّي إشعار بانتهاء المهلة.
بدلاً من ذلك، يجب إنهاء الخدمة التي تعمل في المقدّمة أو تغييرها إلى
خدمة تعمل في الخلفية في أقرب وقت ممكن.
الكاميرا
لا يُسمح للتطبيقات التي تستهدف الإصدار 15 من Android أو الإصدارات الأحدث بتشغيل
خدمة تعمل في المقدّمة للكاميرا من خلال مستقبل بث BOOT_COMPLETED
.
لمزيد من المعلومات، يُرجى الاطّلاع على
القيود المفروضة على BOOT_COMPLETED
أجهزة استقبال البث التي تبدأ خدمات
في المقدّمة.
مزامنة البيانات
لا يُسمح للتطبيقات التي تستهدف الإصدار Android 15 أو الإصدارات الأحدث بتشغيل
خدمة مزامنة بيانات تعمل في المقدّمة من مستقبل بث BOOT_COMPLETED
.
لمزيد من المعلومات، يُرجى الاطّلاع على
القيود المفروضة على BOOT_COMPLETED
أجهزة استقبال البث التي تبدأ خدمات
في المقدّمة.
لا يُسمح للتطبيقات التي تستهدف الإصدار Android 15 أو الإصدارات الأحدث بتشغيل
خدمة تشغيل وسائط تعمل في المقدّمة من خلال مستقبل بث BOOT_COMPLETED
.
لمزيد من المعلومات، يُرجى الاطّلاع على
القيود المفروضة على BOOT_COMPLETED
أجهزة استقبال البث التي تبدأ خدمات
في المقدّمة.
لا يُسمح للتطبيقات التي تستهدف الإصدار Android 15 أو الإصدارات الأحدث بتشغيل
خدمة بث الوسائط التي تعمل في المقدّمة من خلال مستقبل بث BOOT_COMPLETED
.
لمزيد من المعلومات، يُرجى الاطّلاع على
القيود المفروضة على BOOT_COMPLETED
أجهزة استقبال البث التي تبدأ خدمات
في المقدّمة.
الميكروفون
لا يُسمح للتطبيقات التي تستهدف الإصدار 14 من نظام التشغيل Android (المستوى 34 لواجهة برمجة التطبيقات) أو الإصدارات الأحدث بتشغيل
خدمة تعمل في المقدّمة للميكروفون من مستقبل بث BOOT_COMPLETED
.
لمزيد من المعلومات، يُرجى الاطّلاع على
القيود المفروضة على BOOT_COMPLETED
خدمات البث التي تبدأ خدمات
في المقدّمة.
المكالمات الهاتفية
لا يُسمح للتطبيقات التي تستهدف الإصدار 15 من نظام التشغيل Android أو الإصدارات الأحدث بتشغيل
خدمة تعمل في المقدّمة للمكالمات الهاتفية من مستقبل بث BOOT_COMPLETED
.
لمزيد من المعلومات، يُرجى الاطّلاع على
القيود المفروضة على BOOT_COMPLETED
أجهزة استقبال البث التي تبدأ خدمات
في المقدّمة.
يخضع كل من المحتوى وعيّنات التعليمات البرمجية في هذه الصفحة للتراخيص الموضحّة في ترخيص استخدام المحتوى. إنّ Java وOpenJDK هما علامتان تجاريتان مسجَّلتان لشركة Oracle و/أو الشركات التابعة لها.
تاريخ التعديل الأخير: 2025-07-27 (حسب التوقيت العالمي المتفَّق عليه)
[[["يسهُل فهم المحتوى.","easyToUnderstand","thumb-up"],["ساعَدني المحتوى في حلّ مشكلتي.","solvedMyProblem","thumb-up"],["غير ذلك","otherUp","thumb-up"]],[["لا يحتوي على المعلومات التي أحتاج إليها.","missingTheInformationINeed","thumb-down"],["الخطوات معقدة للغاية / كثيرة جدًا.","tooComplicatedTooManySteps","thumb-down"],["المحتوى قديم.","outOfDate","thumb-down"],["ثمة مشكلة في الترجمة.","translationIssue","thumb-down"],["مشكلة في العيّنات / التعليمات البرمجية","samplesCodeIssue","thumb-down"],["غير ذلك","otherDown","thumb-down"]],["تاريخ التعديل الأخير: 2025-07-27 (حسب التوقيت العالمي المتفَّق عليه)"],[],[],null,["# Changes to foreground service types for Android 15\n\nWe are making the following changes to foreground service types with Android\n15.\n\n### Media processing\n\nForeground service type to declare in manifest under\n`android:foregroundServiceType`\n: `mediaProcessing`\n\nPermission to declare in your manifest\n: `FOREGROUND_SERVICE_MEDIA_PROCESSING`\n\nConstant to pass to `startForeground()`\n: `FOREGROUND_SERVICE_TYPE_MEDIA_PROCESSING`\n\nRuntime prerequisites\n: None\n\nDescription\n\n: Service for performing time-consuming operations on media assets, like\n converting media to different formats. The system allows this service a limited\n time to run; under normal circumstances, this time limit would be 6 hours out of\n every 24. (This limit is shared by all of an app's `mediaProcessing` foreground\n services.)\n\n: Your app should manually stop the media processing service in the following\n scenario:\n\n - When the transcoding operation finishes or reaches a failure state, have the service call [`Service.stopForeground()`](/reference/android/app/Service#stopForeground(int)) and [`Service.stopSelf()`](/reference/android/app/Service#stopSelf()) to stop the service completely.\n\n: If the timeout period is reached, the system calls the service's\n [`Service.onTimeout(int, int)`](/reference/android/app/Service#onTimeout(int,%20int)) method. At this\n time, the service has a few\n seconds to call [`Service.stopSelf()`](/reference/android/app/Service#stopSelf()). If the service does not call\n `Service.stopSelf()`, an ANR will occur with this error message: \"A\n foreground service of *\\\u003cfgs_type\\\u003e* did not stop within its\n timeout: *\\\u003ccomponent_name\\\u003e*\".\n\n **Note** : `Service.onTimeout(int, int)` is not available on Android 14\n or lower. On devices running those versions, if a media processing\n service reaches the timeout period, the system immediately caches the app.\n For this reason, your app shouldn't wait to get a timeout notification.\n Instead, it should terminate the foreground service or change it to a\n background service as soon as appropriate.\n\n### Camera\n\nApps that target Android 15 or higher are not allowed to launch a\ncamera foreground service from a `BOOT_COMPLETED` broadcast receiver.\nFor more information, see\n[Restrictions on `BOOT_COMPLETED` broadcast receivers launching foreground\nservices](/about/versions/15/behavior-changes-15#fgs-boot-completed).\n\n### Data sync\n\nApps that target Android 15 or higher are not allowed to launch a\ndata sync foreground service from a `BOOT_COMPLETED` broadcast receiver.\nFor more information, see\n[Restrictions on `BOOT_COMPLETED` broadcast receivers launching foreground\nservices](/about/versions/15/behavior-changes-15#fgs-boot-completed).\n\n### Media playback\n\nApps that target Android 15 or higher are not allowed to launch a\nmedia playback foreground service from a `BOOT_COMPLETED` broadcast receiver.\nFor more information, see\n[Restrictions on `BOOT_COMPLETED` broadcast receivers launching foreground\nservices](/about/versions/15/behavior-changes-15#fgs-boot-completed).\n\n### Media projection\n\nApps that target Android 15 or higher are not allowed to launch a\nmedia projection foreground service from a `BOOT_COMPLETED` broadcast receiver.\nFor more information, see\n[Restrictions on `BOOT_COMPLETED` broadcast receivers launching foreground\nservices](/about/versions/15/behavior-changes-15#fgs-boot-completed).\n\n### Microphone\n\nApps that target Android 14 (API level 34) or higher are not allowed to launch a\nmicrophone foreground service from a `BOOT_COMPLETED` broadcast receiver.\nFor more information, see\n[Restrictions on `BOOT_COMPLETED` broadcast receivers launching foreground\nservices](/about/versions/15/behavior-changes-15#fgs-boot-completed).\n\n### Phone call\n\nApps that target Android 15 or higher are not allowed to launch a\nphone call foreground service from a `BOOT_COMPLETED` broadcast receiver.\nFor more information, see\n[Restrictions on `BOOT_COMPLETED` broadcast receivers launching foreground\nservices](/about/versions/15/behavior-changes-15#fgs-boot-completed)."]]