Zmiany w typach usług na pierwszym planie w Androidzie 15

Wprowadzamy w Androidzie 15 poniższe zmiany dotyczące usług na pierwszym planie.

Przetwarzane materiały

Typ usługi na pierwszym planie do zadeklarowania w pliku manifestu w domenie
android:foregroundServiceType
mediaProcessing
Uprawnienia do zadeklarowania w pliku manifestu
FOREGROUND_SERVICE_MEDIA_PROCESSING
Stała do przekazywania do: startForeground()
FOREGROUND_SERVICE_TYPE_MEDIA_PROCESSING
Wymagania wstępne środowiska wykonawczego
Brak
Opis

Usługa do wykonywania czasochłonnych operacji na zasobach medialnych, takich jak konwersja multimediów na różne formaty. System zezwala na uruchomienie tej usługi przez ograniczony czas. W normalnych okolicznościach ten limit czasu wynosi 6 godzin z każdej 24 godzin. Ten limit jest wspólny dla wszystkich działających na pierwszym planie usług mediaProcessing.

Aplikacja powinna ręcznie zatrzymać usługę przetwarzania multimediów w tym scenariuszu:

Po upływie tego czasu system wywołuje metodę Service.onTimeout(int, int) usługi. W tej chwili usługa ma kilka sekund na wywołanie Service.stopSelf(). Jeśli usługa nie wywoła Service.stopSelf(), wystąpi błąd ANR z tym komunikatem o błędzie: „Usługa na pierwszym planie <fgs_type> nie została zatrzymana w ramach swojego limitu czasu: <component_name>”.

Uwaga: usługa Service.onTimeout(int, int) jest niedostępna na urządzeniach z Androidem 14 lub starszym. Gdy usługa przetwarzania multimediów osiągnie limit czasu na urządzeniach z tymi wersjami, system natychmiast zapisze aplikację w pamięci podręcznej. Z tego powodu aplikacja nie powinna czekać na powiadomienie o przekroczeniu limitu czasu. Zamiast tego jak najszybciej powinien zakończyć działanie usługi na pierwszym planie lub zmienić ją w usługę działającą w tle.

Aparat

Aplikacje kierowane na Androida 15 lub nowszego nie mogą uruchamiać usługi kamery na pierwszym planie z odbiornika BOOT_COMPLETED. Więcej informacji znajdziesz w artykule Ograniczenia dotyczące odbiorników (BOOT_COMPLETED) uruchamiających usługi na pierwszym planie.

Synchronizowanie danych

Aplikacje kierowane na Androida 15 lub nowszego nie mogą uruchamiać usługi synchronizacji danych na pierwszym planie z odbiornika BOOT_COMPLETED. Więcej informacji znajdziesz w artykule Ograniczenia dotyczące odbiorników (BOOT_COMPLETED) uruchamiających usługi na pierwszym planie.

Odtwarzanie multimediów

Aplikacje kierowane na Androida 15 lub nowszego nie mogą uruchamiać usługi odtwarzania multimediów na pierwszym planie z odbiornika BOOT_COMPLETED. Więcej informacji znajdziesz w artykule Ograniczenia dotyczące odbiorników (BOOT_COMPLETED) uruchamiających usługi na pierwszym planie.

Wyświetlanie multimediów

Aplikacje kierowane na Androida 15 lub nowszego nie mogą uruchamiać usługi wyświetlania multimediów na pierwszym planie z odbiornika BOOT_COMPLETED. Więcej informacji znajdziesz w artykule Ograniczenia dotyczące odbiorników (BOOT_COMPLETED) uruchamiających usługi na pierwszym planie.

Mikrofon

Aplikacje kierowane na Androida 14 (poziom API 34) lub nowszego nie mogą uruchamiać usługi mikrofonu na pierwszym planie z odbiornika BOOT_COMPLETED. Więcej informacji znajdziesz w artykule Ograniczenia dotyczące odbiorników (BOOT_COMPLETED) uruchamiających usługi na pierwszym planie.

Rozmowa telefoniczna

Aplikacje kierowane na Androida 15 lub nowszego nie mogą uruchamiać usługi połączeń telefonicznych na pierwszym planie z odbiornika BOOT_COMPLETED. Więcej informacji znajdziesz w artykule Ograniczenia dotyczące odbiorników (BOOT_COMPLETED) uruchamiających usługi na pierwszym planie.