We are making the following changes to foreground service types with Android 15.
Mídia em processamento
- Tipo de serviço em primeiro plano a ser declarado no manifesto em
android:foregroundServiceType
mediaProcessing
- Permissão a ser declarada no manifesto
FOREGROUND_SERVICE_MEDIA_PROCESSING
- Constante para transmitir para
startForeground()
FOREGROUND_SERVICE_TYPE_MEDIA_PROCESSING
- Pré-requisitos do ambiente de execução
- Nenhum
- Descrição
Serviço para realizar operações demoradas em recursos de mídia, como converter mídia em diferentes formatos. O sistema permite que esse serviço seja executado por um tempo limitado. Em circunstâncias normais, esse limite de tempo seria de 6 horas a cada 24. Esse limite é compartilhado por todos os serviços em primeiro plano
mediaProcessing
de um app.O app precisa interromper manualmente o serviço de processamento de mídia no seguinte cenário:
- Quando a operação de transcodificação terminar ou atingir um estado de falha, faça com que
o serviço chame
Service.stopForeground()
eService.stopSelf()
para interromper o serviço completamente.
- Quando a operação de transcodificação terminar ou atingir um estado de falha, faça com que
o serviço chame
Se o período de tempo limite for atingido, o sistema vai chamar o método
Service.onTimeout(int, int)
do serviço. Nesse momento, o serviço tem alguns segundos para chamarService.stopSelf()
. Se o serviço não chamarService.stopSelf()
, um ANR vai ocorrer com esta mensagem de erro: "Um serviço em primeiro plano de <fgs_type> não parou dentro do tempo limite: <component_name>".Observação:
Service.onTimeout(int, int)
não está disponível no Android 14 ou versões anteriores. Em dispositivos com essas versões, se um serviço de processamento de mídia atingir o período de tempo limite, o sistema vai armazenar o app em cache imediatamente. Por esse motivo, o app não deve esperar para receber uma notificação de tempo limite. Em vez disso, ele precisa encerrar o serviço em primeiro plano ou mudar para um serviço em segundo plano assim que apropriado.
Câmera
Os apps destinados ao Android 15 ou versões mais recentes não podem iniciar um
serviço de câmera em primeiro plano em um broadcast receiver BOOT_COMPLETED
.
Para mais informações, consulte
Restrições em broadcast receivers BOOT_COMPLETED
que iniciam serviços em
primeiro plano.
Sincronização de dados
Apps that target Android 15 or higher are not allowed to launch a
data sync foreground service from a BOOT_COMPLETED
broadcast receiver.
For more information, see
Restrictions on BOOT_COMPLETED
broadcast receivers launching foreground
services.
Controles de mídia
Os apps destinados ao Android 15 ou mais recente não podem iniciar um
serviço em primeiro plano de reprodução de mídia em um broadcast receiver BOOT_COMPLETED
.
Para mais informações, consulte
Restrições em broadcast receivers BOOT_COMPLETED
que iniciam serviços em
primeiro plano.
Projeção de mídia
Os apps destinados ao Android 15 ou mais recentes não podem iniciar um
serviço em primeiro plano de projeção de mídia em um broadcast receiver BOOT_COMPLETED
.
Para mais informações, consulte
Restrições em broadcast receivers BOOT_COMPLETED
que iniciam serviços em
primeiro plano.
Microfone
以 Android 14(API 级别 34)或更高版本为目标平台的应用不得通过 BOOT_COMPLETED
广播接收器启动麦克风前台服务。如需了解详情,请参阅对启动前台服务的 BOOT_COMPLETED
广播接收器的限制。
Ligação telefônica
以 Android 15 或更高版本为目标平台的应用不得通过 BOOT_COMPLETED
广播接收器启动通话前台服务。如需了解详情,请参阅对启动前台服务的 BOOT_COMPLETED
广播接收器的限制。