我们将对 Android 15 中的前台服务类型进行以下更改。
Обработка медиа
- Тип службы переднего плана, который нужно объявить в манифесте в разделе
-
android:foregroundServiceType -
mediaProcessing - Разрешение объявить в своем манифесте
-
FOREGROUND_SERVICE_MEDIA_PROCESSING - Константа для передачи в
startForeground() -
FOREGROUND_SERVICE_TYPE_MEDIA_PROCESSING - Предварительные требования для выполнения
- Никто
- Описание
Сервис для выполнения трудоемких операций с медиаресурсами, таких как преобразование мультимедиа в разные форматы. Система позволяет этой службе работать ограниченное время; при нормальных обстоятельствах этот лимит времени будет составлять 6 часов из каждых 24. (Этот лимит является общим для всех служб переднего плана
mediaProcessingприложения.)Ваше приложение должно вручную остановить службу обработки мультимедиа в следующем сценарии:
- Когда операция перекодирования завершится или достигнет состояния сбоя, вызовите службу
Service.stopForeground()иService.stopSelf()чтобы полностью остановить службу.
- Когда операция перекодирования завершится или достигнет состояния сбоя, вызовите службу
Если период тайм-аута достигнут, система вызывает метод службы
Service.onTimeout(int, int). В это время у службы есть несколько секунд для вызоваService.stopSelf(). Если служба не вызываетService.stopSelf(), произойдет ANR с этим сообщением об ошибке: «Служба переднего плана <fgs_type> не остановилась в течение времени ожидания: <comComponent_name> ».Примечание .
Service.onTimeout(int, int)недоступен на Android 14 или более ранней версии. На устройствах с этими версиями, если служба обработки мультимедиа достигает периода ожидания, система немедленно кэширует приложение. По этой причине вашему приложению не следует ждать получения уведомления о тайм-ауте. Вместо этого ему следует прекратить работу службы переднего плана или заменить ее на фоновую службу, как только это станет возможным.
Камера
以 Android 15 或更高版本为目标平台的应用不得通过 BOOT_COMPLETED 广播接收器启动相机前台服务。如需了解详情,请参阅对启动前台服务的 BOOT_COMPLETED 广播接收器的限制。
Синхронизация данных
Приложениям, предназначенным для Android 15 или более поздней версии, не разрешено запускать службу приоритетной синхронизации данных из широковещательного приемника BOOT_COMPLETED . Дополнительные сведения см. в разделе Ограничения на широковещательные приемники BOOT_COMPLETED , запускающие службы переднего плана .
Воспроизведение мультимедиа
Приложениям, предназначенным для Android 15 или более поздней версии, не разрешено запускать службу приоритетного воспроизведения мультимедиа из широковещательного приемника BOOT_COMPLETED . Дополнительные сведения см. в разделе Ограничения на широковещательные приемники BOOT_COMPLETED , запускающие службы переднего плана .
Медиа-проекция
Приложениям, предназначенным для Android 15 или более поздней версии, не разрешено запускать службу переднего плана медиапроекции из приемника вещания BOOT_COMPLETED . Дополнительные сведения см. в разделе Ограничения на широковещательные приемники BOOT_COMPLETED , запускающие службы переднего плана .
Микрофон
Apps that target Android 14 (API level 34) or higher are not allowed to launch a
microphone foreground service from a BOOT_COMPLETED broadcast receiver.
For more information, see
Restrictions on BOOT_COMPLETED broadcast receivers launching foreground
services.
Телефонный звонок
Приложениям, предназначенным для Android 15 или более поздней версии, не разрешено запускать службу приоритетного режима телефонного звонка из широковещательного приемника BOOT_COMPLETED . Дополнительные сведения см. в разделе Ограничения на широковещательные приемники BOOT_COMPLETED , запускающие службы переднего плана .