لمساعدة المطوّرين على تحديد الخدمات التي تعمل في المقدّمة الموجّهة للمستخدمين، قدَّم نظام Android 10 السمة android:foregroundServiceType ضمن العنصر <service>.
إذا كان تطبيقك يستهدف الإصدار 14 من نظام التشغيل Android، يجب أن يحدِّد أنواع الخدمات المناسبة التي تعمل في المقدّمة. كما هو الحال في الإصدارات السابقة من Android، يمكن دمج أنواع متعددة. وتعرض هذه القائمة أنواع الخدمات التي تعمل في المقدّمة للاختيار من بينها:
cameraconnectedDevicedataSynchealthlocationmediaPlaybackmediaProjectionmicrophonephoneCallremoteMessagingshortServicespecialUsesystemExempted
إذا لم تكن حالة استخدام في تطبيقك مرتبطة بأيّ من هذه الأنواع، ننصحك بشدة بنقل منطقك لاستخدام WorkManager أو مهام نقل البيانات التي يبدأها المستخدم.
النوعان health, remoteMessaging, shortService, specialUse وsystemExempted
هما نوعان جديدان في Android 14.
يقدّم مقتطف الرمز التالي مثالاً على بيان نوع خدمة تعمل في المقدّمة في البيان:
<manifest ...>
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_MEDIA_PLAYBACK" />
<application ...>
<service
android:name=".MyMediaPlaybackService"
android:foregroundServiceType="mediaPlayback"
android:exported="false">
</service>
</application>
</manifest>
إذا كان أحد التطبيقات التي تستهدف Android 14 لا يحدّد أنواع خدمة معيّنة في
البيان، سيطلب النظام MissingForegroundServiceTypeException
عند استدعاء startForeground() لهذه الخدمة.
إعلان الإذن الجديد لاستخدام أنواع الخدمات التي تعمل في المقدّمة
إذا كانت التطبيقات التي تستهدف الإصدار 14 من نظام التشغيل Android تستخدم خدمة تعمل في المقدّمة، يجب تقديم بيان عن إذن محدّد يقدّمه الإصدار 14 من Android ويستند إلى نوع الخدمة التي تعمل في المقدّمة. تظهر هذه الأذونات في الأقسام التي تحمل التصنيف "الإذن الذي يجب الإفصاح عنه في ملف البيان" ضمن قسم حالات الاستخدام المقصودة وإجراءات التنفيذ لكل نوع من أنواع الخدمات التي تعمل في المقدّمة في هذه الصفحة.
يتم تعريف جميع الأذونات على أنّها أذونات عادية ويتم منح الموافقة عليها تلقائيًا. ولا يمكن للمستخدمين إبطال هذه الأذونات.
تضمين نوع الخدمة التي تعمل في المقدّمة أثناء التشغيل
من أفضل الممارسات للتطبيقات التي تبدأ الخدمات التي تعمل في المقدّمة استخدام الإصدار
ServiceCompat من startForeground() (متاح في androidx-core
1.12 والإصدارات الأحدث) حيث يتم تمرير عددٍ كاملٍ مبني على الأعداد الثنائية لأنواع الخدمات التي تعمل في المقدّمة. يمكنك اختيار تمرير قيمة نوع واحدة أو أكثر.
وعادةً ما يجب الإفصاح عن الأنواع المطلوبة فقط لحالة استخدام معيّنة. ويسهِّل ذلك تلبية توقّعات النظام لكل نوع من أنواع الخدمات التي تعمل في المقدّمة. في الحالات التي يتم فيها بدء الخدمة التي تعمل في المقدّمة بعدة أنواع، يجب أن تلتزم الخدمة التي تعمل في المقدّمة بمتطلبات التنفيذ على مستوى النظام الأساسي لجميع الأنواع.
ServiceCompat.startForeground(0, notification, FOREGROUND_SERVICE_TYPE_LOCATION)
إذا لم يتم تحديد نوع الخدمة التي تعمل في المقدّمة في الطلب، سيكون النوع التلقائي
على القيم المحدّدة في البيان. إذا لم تحدِّد نوع الخدمة
في البيان، سيُرسِل النظام خطأ
MissingForegroundServiceTypeException.
إذا كانت الخدمة التي تعمل في المقدّمة تحتاج إلى أذونات جديدة بعد تفعيلها، عليك
طلب startForeground() مجددًا وإضافة أنواع الخدمات الجديدة. على سبيل المثال، لنفترض أنّ تطبيق لياقة بدنية يشغّل خدمة تتبُّع الركض التي تحتاج دائمًا إلى معلومات
location، ولكن قد تحتاج أو لا تحتاج إلى أذونات media.
عليك الإفصاح عن كل من location وmediaPlayback في البيان. إذا بدأ أحد المستخدمين جولة ركض وأردت تتبُّع موقعه الجغرافي فقط، يجب أن يتصل تطبيقك بواجهة برمجة التطبيقات
startForeground() ويُرسل نوع الخدمة location فقط. بعد ذلك، إذا أراد المستخدم
بدء تشغيل الصوت، يتصل بـ startForeground() مرة أخرى ويمرّر
location|mediaPlayback.
عمليات التحقّق من وقت تشغيل النظام
系统会检查前台服务类型的使用是否恰当,并确认应用是否已请求适当的运行时权限或使用所需的 API。例如,系统希望使用前台服务类型 FOREGROUND_SERVICE_TYPE_LOCATION 的应用请求 ACCESS_COARSE_LOCATION 或 ACCESS_FINE_LOCATION。
这意味着,在向用户请求权限和启动前台服务时,应用必须遵循非常具体的操作顺序。应用在尝试调用 startForeground() 之前,必须先请求并获得所需的权限。在启动前台服务后请求相应权限的应用必须更改此顺序,并在启动前台服务之前请求该权限。
本页面的每种前台服务类型的预期用例和强制执行部分中标记为“运行时要求”的部分列出了平台强制执行的具体内容。
حالات الاستخدام المقصودة وفرضها لكل نوع من أنواع الخدمات التي تعمل في المقدّمة
لاستخدام نوع معيّن من الخدمات التي تعمل في المقدّمة، يجب تقديم بيان عن إذن معيّن في ملف البيان، ويجب استيفاء متطلبات محددة أثناء التشغيل ، ويجب أن يستوفي تطبيقك إحدى المجموعات المقصودة من حالات الاستخدام لهذا النوع. توضّح الأقسام التالية الإذن الذي يجب إعلام المستخدمين به، ومتطلبات التشغيل الأساسية، وحالات الاستخدام المقصودة لكل نوع.
الكاميرا
- نوع الخدمة التي تعمل في المقدّمة المطلوب تقديم بيان عنها في البيان ضمن
android:foregroundServiceType camera- الإذن المطلوب تضمينه في بيان التطبيق
FOREGROUND_SERVICE_CAMERA- ثابت يتم تمريره إلى
startForeground() FOREGROUND_SERVICE_TYPE_CAMERA- المتطلبات الأساسية لوقت التشغيل
طلب إذن التشغيل
CAMERAوالحصول عليهملاحظة: يخضع إذن التشغيل
CAMERAلقيود الاستخدام أثناء التشغيل. لهذا السبب، لا يمكنك إنشاءcameraخدمة تعمل في المقدّمة عندما يكون تطبيقك قيد التشغيل في الخلفية، باستثناء بعض الحالات. لمزيد من المعلومات، يُرجى الاطّلاع على القيود المفروضة على بدء الخدمات التي تعمل في المقدّمة والتي تحتاج إلى أذونات أثناء الاستخدام.- الوصف
يمكن مواصلة الوصول إلى الكاميرا في الخلفية مثلاً من خلال تطبيقات محادثات الفيديو التي تتيح تعدُّد المهام.
جهاز متّصل
- 要在清单中的以下位置声明的前台服务类型
android:foregroundServiceTypeconnectedDevice- 在清单中声明的权限
FOREGROUND_SERVICE_CONNECTED_DEVICE- 要传递给
startForeground()的常量 FOREGROUND_SERVICE_TYPE_CONNECTED_DEVICE- 运行时前提条件
必须至少满足以下其中一个条件:
在清单中至少声明以下其中一项权限:
至少请求并被授予以下其中一项运行时权限:
- 说明
与需要蓝牙、NFC、IR、USB 或网络连接的外部设备进行互动。
- 替代方案
如果您的应用需要向外部设备持续传输数据,请考虑改用配套设备管理器。使用配套设备感知 API,可帮助您的应用在配套设备在范围内时保持运行。
如果您的应用需要扫描蓝牙设备,请考虑改用 Bluetooth Scan API。
مزامنة البيانات
- نوع الخدمة التي تعمل في المقدّمة المطلوب تقديم بيان عنها في البيان ضمن
android:foregroundServiceTypedataSync- الإذن المطلوب تضمينه في بيان التطبيق
FOREGROUND_SERVICE_DATA_SYNC- ثابت يتم تمريره إلى
startForeground() FOREGROUND_SERVICE_TYPE_DATA_SYNC- المتطلبات الأساسية لوقت التشغيل
- بدون
- الوصف
عمليات نقل البيانات، مثل ما يلي:
- تحميل البيانات أو تنزيلها
- عمليات الاحتفاظ بنسخة احتياطية من البيانات واستعادتها
- عمليات الاستيراد أو التصدير
- استرجاع البيانات
- معالجة الملفات على الجهاز
- نقل البيانات بين جهاز والسحابة الإلكترونية عبر شبكة
- الحلول البديلة
اطّلِع على البدائل لخدمات "مزامنة البيانات" التي تعمل في المقدّمة للحصول على معلومات مفصّلة.
الصحة
- نوع الخدمة التي تعمل في المقدّمة المطلوب تقديم بيان عنه في البيان ضمن
android:foregroundServiceTypehealth- الإذن المطلوب تضمينه في بيان التطبيق
FOREGROUND_SERVICE_HEALTH- ثابت يتم تمريره إلى
startForeground() FOREGROUND_SERVICE_TYPE_HEALTH- المتطلبات الأساسية لوقت التشغيل
يجب أن يكون هناك شرط واحد على الأقل من الشروط التالية صحيحًا:
أدخِل الإذن
HIGH_SAMPLING_RATE_SENSORSفي ملف البيان.طلب الحصول على إذن واحد على الأقل من أذونات وقت التشغيل التالية والحصول عليه:
-
BODY_SENSORSعلى مستوى واجهة برمجة التطبيقات 35 والإصدارات الأقدم READ_HEART_RATEREAD_SKIN_TEMPERATUREREAD_OXYGEN_SATURATIONACTIVITY_RECOGNITION
-
ملاحظة: تخضع أذونات التشغيل
BODY_SENSORSوأذونات القراءة المستندة إلى أجهزة الاستشعار لقيود أثناء الاستخدام. لهذا السبب، لا يمكنك إنشاءhealthخدمة تعمل في المقدّمة وتستخدم أدوات استشعار الجسم عندما يكون تطبيقك في الخلفية ما لم يتم منحك إذنَيBODY_SENSORS_BACKGROUND(المستوى 33 إلى 35 لواجهة برمجة التطبيقات) أوREAD_HEALTH_DATA_IN_BACKGROUND(المستوى 36 لواجهة برمجة التطبيقات والمستويات الأعلى). لمزيد من المعلومات، يُرجى الاطّلاع على القيود المفروضة على بدء الخدمات التي تعمل في المقدّمة والتي تحتاج إلى أذونات أثناء الاستخدام.- الوصف
أيّ حالات استخدام طويلة الأمد لتفعيل التطبيقات في فئة اللياقة البدنية، مثل أجهزة تتبُّع التمارين الرياضية
الموقع الجغرافي
- نوع الخدمة التي تعمل في المقدّمة المطلوب تقديم بيان عنه في البيان ضمن
android:foregroundServiceTypelocation- الإذن المطلوب تضمينه في بيان التطبيق
FOREGROUND_SERVICE_LOCATION- ثابت يتم تمريره إلى
startForeground() FOREGROUND_SERVICE_TYPE_LOCATION- المتطلبات الأساسية لوقت التشغيل
يجب أن يكون المستخدم قد فعّل خدمات الموقع الجغرافي وأن يتم منح التطبيق إذن تشغيل واحدًا على الأقل من الأذونات التالية:
ملاحظة: للتحقّق من أنّ المستخدم قد فعّل خدمات الموقع الجغرافي بالإضافة إلى منح الإذن بالوصول إلى أذونات التشغيل، استخدِم
PermissionChecker#checkSelfPermission().ملاحظة: تخضع أذونات التشغيل الخاصة بالموقع الجغرافي لقيود الاستخدام أثناء التشغيل. لهذا السبب، لا يمكنك إنشاء
locationخدمة تعمل في المقدّمة عندما يكون تطبيقك قيد التشغيل في الخلفية، ما لم يتم منحك إذنACCESS_BACKGROUND_LOCATIONوقت التشغيل. لمزيد من المعلومات، يُرجى الاطّلاع على القيود المفروضة على بدء الخدمات التي تعمل في المقدّمة والتي تحتاج إلى أذونات أثناء الاستخدام.- الوصف
حالات الاستخدام التي تستغرق وقتًا طويلاً وتتطلّب الوصول إلى الموقع الجغرافي، مثل التنقّل ومشاركة الموقع الجغرافي
- الحلول البديلة
إذا كان تطبيقك يحتاج إلى التفعيل عندما يصل المستخدم إلى مواقع جغرافية معيّنة، ننصحك باستخدام Geofence API بدلاً من ذلك.
الوسائط
- نوع الخدمة التي تعمل في المقدّمة المطلوب تقديم بيان عنها في البيان ضمن
android:foregroundServiceTypemediaPlayback- الإذن المطلوب تضمينه في بيان التطبيق
FOREGROUND_SERVICE_MEDIA_PLAYBACK- ثابت يتم تمريره إلى
startForeground() FOREGROUND_SERVICE_TYPE_MEDIA_PLAYBACK- المتطلبات الأساسية لوقت التشغيل
- بدون
- الوصف
- مواصلة تشغيل الصوت أو الفيديو في الخلفية أن تتيح وظائف تسجيل الفيديو الرقمي (DVR) على Android TV
- الحلول البديلة
- إذا كنت تعرض فيديو في وضع "نافذة ضمن النافذة"، استخدِم وضع "نافذة ضمن النافذة".
عرض الوسائط
- نوع الخدمة التي تعمل في المقدّمة المطلوب تقديم بيان عنها في البيان ضمن
android:foregroundServiceTypemediaProjection- الإذن المطلوب تضمينه في بيان التطبيق
FOREGROUND_SERVICE_MEDIA_PROJECTION- ثابت يتم تمريره إلى
startForeground() FOREGROUND_SERVICE_TYPE_MEDIA_PROJECTION- المتطلبات الأساسية لوقت التشغيل
استخدِم طريقة
createScreenCaptureIntent()قبل بدء الخدمة التي تعمل في المقدّمة. يؤدي ذلك إلى عرض إشعار الإذن للمستخدم، ويُرجى العِلم أنّه يجب أن يمنح المستخدم الإذن قبل أن تتمكّن من إنشاء الخدمة.بعد إنشاء الخدمة التي تعمل في المقدّمة، يمكنك الاتصال بـ
MediaProjectionManager.getMediaProjection().- الوصف
عرض المحتوى على أجهزة عرض غير أساسية أو أجهزة خارجية باستخدام واجهات برمجة تطبيقات
MediaProjectionولا يُشترط أن يكون هذا المحتوى إعلاميًا فقط.- الحلول البديلة
لبث الوسائط إلى جهاز آخر، استخدِم Google Cast SDK.
الميكروفون
- نوع الخدمة التي تعمل في المقدّمة المطلوب تقديم بيان عنه في البيان ضمن
android:foregroundServiceTypemicrophone- الإذن المطلوب تضمينه في بيان التطبيق
FOREGROUND_SERVICE_MICROPHONE- ثابت يتم تمريره إلى
startForeground() FOREGROUND_SERVICE_TYPE_MICROPHONE- المتطلبات الأساسية لوقت التشغيل
اطلب إذن التشغيل
RECORD_AUDIOواحصل عليه.ملاحظة: يخضع إذن التشغيل
RECORD_AUDIOلقيود أثناء الاستخدام. لهذا السبب، لا يمكنك إنشاءmicrophoneخدمة تعمل في المقدّمة عندما يكون تطبيقك قيد التشغيل في الخلفية، باستثناء بعض الحالات. لمزيد من المعلومات، يُرجى الاطّلاع على القيود المفروضة على بدء الخدمات التي تعمل في المقدّمة وتحتاج إلى أذونات أثناء الاستخدام.- الوصف
مواصلة استخدام الميكروفون في الخلفية، مثل مسجلات الصوت أو تطبيقات التواصل
المكالمات الهاتفية
- نوع الخدمة التي تعمل في المقدّمة المطلوب تقديم بيان عنها في البيان ضمن
android:foregroundServiceTypephoneCall- الإذن المطلوب تضمينه في بيان التطبيق
FOREGROUND_SERVICE_PHONE_CALL- ثابت يتم تمريره إلى
startForeground() FOREGROUND_SERVICE_TYPE_PHONE_CALL- المتطلبات الأساسية لوقت التشغيل
يجب أن يكون أحد الشروط التالية صحيحًا على الأقل:
- أعلن التطبيق عن إذن
MANAGE_OWN_CALLSفي ملف البيان.
- أعلن التطبيق عن إذن
- التطبيق هو تطبيق الاتصال التلقائي من خلال دور
ROLE_DIALER.
- التطبيق هو تطبيق الاتصال التلقائي من خلال دور
- الوصف
مواصلة مكالمة جارية باستخدام واجهات برمجة تطبيقات
ConnectionService- الحلول البديلة
إذا كنت بحاجة إلى إجراء مكالمات هاتفية أو مكالمات فيديو أو مكالمات عبر بروتوكول الصوت على الإنترنت، ننصحك باستخدام مكتبة
android.telecom.ننصحك باستخدام
CallScreeningServiceلفحص المكالمات.
المراسلة عن بُعد
- نوع الخدمة التي تعمل في المقدّمة المطلوب تقديم بيان عنها في البيان ضمن
android:foregroundServiceTyperemoteMessaging- الإذن المطلوب تضمينه في بيان التطبيق
FOREGROUND_SERVICE_REMOTE_MESSAGING- ثابت يتم تمريره إلى
startForeground() FOREGROUND_SERVICE_TYPE_REMOTE_MESSAGING- المتطلبات الأساسية لوقت التشغيل
- بدون
- الوصف
- نقل الرسائل النصية من جهاز إلى آخر تقدِّم هذه الخدمة المساعدة في مواصلة مهام المراسلة من المستخدم عند تبديل الأجهزة.
خدمة قصيرة
- نوع الخدمة التي تعمل في المقدّمة المطلوب تقديم بيان عنها في البيان ضمن
android:foregroundServiceTypeshortService- الإذن المطلوب تضمينه في بيان التطبيق
- بدون
- ثابت يتم تمريره إلى
startForeground() FOREGROUND_SERVICE_TYPE_SHORT_SERVICE- المتطلبات الأساسية لوقت التشغيل
- بدون
- الوصف
إنهاء العمل المهم بسرعة والذي لا يمكن إيقافه أو تأجيله
يتميز هذا النوع ببعض الخصائص الفريدة:
- لا يمكن تشغيله إلا لفترة قصيرة (حوالي 3 دقائق).
- لا تتوفّر خدمات ثابتة تعمل في المقدّمة.
- لا يمكن بدء خدمات أخرى تعمل في المقدّمة.
- لا يتطلّب إذنًا خاصًا بالنوع، إلا أنّه
يتطلّب إذن
FOREGROUND_SERVICE. - لا يمكن تغيير
shortServiceإلى نوع خدمة آخر إلا إذا كان التطبيق مؤهلاً حاليًا لبدء خدمة جديدة تعمل في المقدّمة. - يمكن لخدمة تعمل في المقدّمة تغيير نوعها إلى
shortServiceفي أي وقت، وعندها تبدأ فترة المهلة.
يبدأ مهلة shortService من لحظة استدعاء
Service.startForeground(). من المتوقّع أن يتصل التطبيقService.stopSelf()أوService.stopForeground()قبل حدوث مهلة. بخلاف ذلك، يتم استدعاءService.onTimeout()الجديد، ما يمنح التطبيقات فرصة قصيرة للاتصال بـstopSelf()أوstopForeground()لإيقاف خدمتها.بعد وقت قصير من استدعاء
Service.onTimeout()، يدخل التطبيق في حالة تخزين مؤقت ولا يعود في المقدّمة، ما لم يكن المستخدم يتفاعل مع التطبيق بشكل نشط. بعد وقت قصير من تخزين التطبيق مؤقتًا وعدم توقّف الخدمة، يتلقّى التطبيق خطأ ANR. تشير رسالة ANR إلىFOREGROUND_SERVICE_TYPE_SHORT_SERVICE. لهذه الأسباب، يُعدّ تنفيذService.onTimeout()callback من أفضل الممارسات.لا يتوفّر خيار الاتصال التلقائي
Service.onTimeout()على الإصدار 13 من نظام التشغيل Android والإصدارات الأقدم. إذا كانت الخدمة نفسها تعمل على هذه الأجهزة، لا تتلقّى مهلة ولا تتلقّى ANR. تأكَّد من أنّ الخدمة تتوقف فور الانتهاء من مهمة المعالجة، حتى إذا لم تتلقّService.onTimeout()طلب إعادة الاتصال بعد.من المهمّ ملاحظة أنّه في حال عدم الالتزام بالمهلة الزمنية ل
shortService، سيظهر خطأ ANR في التطبيق حتى إذا كان لديه خدمات صالحة أخرى في المقدّمة أو عمليات أخرى لدورة حياة التطبيق قيد التشغيل.إذا كان التطبيق مرئيًا للمستخدم أو يستوفي أحد الإعفاءات التي تسمح ببدء الخدمات التي تعمل في المقدّمة من الخلفية، يؤدي استدعاء
Service.StartForeground()مرة أخرى باستخدام المَعلمةFOREGROUND_SERVICE_TYPE_SHORT_SERVICEإلى تمديد مهلة الانتظار مدّة 3 دقائق أخرى. إذا لم يكن التطبيق مرئيًا للمستخدم ولم يكن يستوفي أحد الإعفاءات، تؤدي أي محاولة لبدء خدمة أخرى تعمل في المقدّمة، بغض النظر عن نوعها، إلىForegroundServiceStartNotAllowedException.إذا أوقف المستخدم ميزة تحسين البطارية لتطبيقك، سيظلّ يتأثر بوقت الاستراحة لـ FGS في shortService.
إذا بدأت خدمة تعمل في المقدّمة تتضمّن نوع
shortServiceو نوعًا آخر من الخدمات التي تعمل في المقدّمة، يتجاهل النظام بيان نوعshortService. ومع ذلك، يجب أن تلتزم الخدمة بالشروط الأساسية للأنواع الأخرى المعلَن عنها. لمزيد من المعلومات، يُرجى الاطّلاع على مستندات خدمات المقدّمة.
استخدام خاص
- نوع الخدمة التي تعمل في المقدّمة للإفصاح عنها في البيان ضمن
android:foregroundServiceTypespecialUse- إذن بالبيان في بيان التطبيق
FOREGROUND_SERVICE_SPECIAL_USE- ثابت يتم تمريره إلى
startForeground() FOREGROUND_SERVICE_TYPE_SPECIAL_USE- المتطلّبات الأساسية لبيئة التشغيل
- ما مِن قيمة محدّدة
- الوصف
تشمل أي حالات استخدام صالحة للخدمة التي تعمل في المقدّمة ولا تغطيها أنواع الخدمات التي تعمل في المقدّمة.
بالإضافة إلى تقديم بيان عن
FOREGROUND_SERVICE_TYPE_SPECIAL_USEنوع الخدمة التي تعمل في المقدّمة، على المطوّرين تقديم بيان عن حالات الاستخدام في ملفFOREGROUND_SERVICE_TYPE_SPECIAL_USEالبيان. ولإجراء ذلك، يحددون عنصر<property>في<service>. تُعد هذه القيم وحالات الاستخدام المقابلة أن تتم مراجعتها عند إرسال تطبيقك في Google Play Console. الاستخدام الحالات التي تقدمها تكون حرة الشكل، ويجب أن تتأكد من توفير ما يكفي من للسماح للمراجع بمعرفة سبب احتياجك إلى استخدامspecialUseالكتابة.<service android:name="fooService" android:foregroundServiceType="specialUse"> <property android:name="android.app.PROPERTY_SPECIAL_USE_FGS_SUBTYPE" android:value="explanation_for_special_use"/> </service>
تمّت إعفاءها من خلال النظام
- 要在清单中的以下位置声明的前台服务类型
android:foregroundServiceTypesystemExempted- 在清单中声明的权限
FOREGROUND_SERVICE_SYSTEM_EXEMPTED- 要传递给
startForeground()的常量 FOREGROUND_SERVICE_TYPE_SYSTEM_EXEMPTED- 运行时前提条件
- 无
- 说明
为系统应用和特定系统集成预留,使其能继续使用前台服务。
如需使用此类型,应用必须至少满足以下条件之一:
- 设备处于演示模式状态
- 应用是设备所有者
- 应用是性能分析器所有者
- 属于具有
ROLE_EMERGENCY角色的安全应用 - 属于设备管理应用
- 具有
SCHEDULE_EXACT_ALARM或USE_EXACT_ALARM权限且使用前台服务在后台继续闹钟(包括仅振动闹钟)的应用。 VPN 应用(使用设置 > 网络和互联网 > VPN 进行配置)
否则,声明此类型会导致系统抛出
ForegroundServiceTypeNotAllowedException。
فرض سياسة Google Play لاستخدام أنواع الخدمات التي تعمل في المقدّمة
إذا كان تطبيقك يستهدف الإصدار 14 من نظام التشغيل Android أو الإصدارات الأحدث، عليك الإفصاح عن أنواع الخدمات التي تعمل في المقدّمة في صفحة محتوى التطبيق في Play Console (السياسة > محتوى التطبيق). لمزيد من المعلومات حول كيفية توضيح أنواع الخدمات التي تعمل في المقدّمة في Play Console، يُرجى الاطّلاع على مقالة التعرّف على متطلّبات الخدمة التي تعمل في المقدّمة والعرض بملء الشاشة.