Zmiany typów usług działających na pierwszym planie w Androidzie 15
Zadbaj o dobrą organizację dzięki kolekcji
Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.
W Androidzie 15 wprowadzamy te zmiany w typach usług na pierwszym planie:
- Typ usługi na pierwszym planie do zadeklarowania w pliku manifestu w sekcji
android:foregroundServiceType
mediaProcessing
- Uprawnienia do zadeklarowania w pliku manifestu
FOREGROUND_SERVICE_MEDIA_PROCESSING
- stała wartość przekazywana do
startForeground()
,
FOREGROUND_SERVICE_TYPE_MEDIA_PROCESSING
- Wymagania wstępne środowiska wykonawczego
- Brak
- Opis
Usługa do wykonywania czasochłonnych operacji na zasobach multimedialnych, takich jak konwertowanie multimediów na różne formaty. System zezwala tej usłudze na ograniczony czas działania. W normalnych okolicznościach limit czasu wynosi 6 godzin na 24 godziny. Ten limit jest wspólny dla wszystkich mediaProcessing
usług na pierwszym planie w aplikacji.
Aplikacja powinna ręcznie zatrzymać usługę przetwarzania multimediów w takich sytuacjach:
Po upływie limitu czasu system wywołuje metodę Service.onTimeout(int, int)
usługi. W tym momencie usługa ma kilka sekund na wywołanie funkcji Service.stopSelf()
. Jeśli usługa nie wywołuje funkcji Service.stopSelf()
, wystąpi ANR z komunikatem o błędzie: „Usługa na pierwszym planie <fgs_type> nie zatrzymała się w czasie swojego limitu czasu: <component_name>”.
Uwaga: funkcja Service.onTimeout(int, int)
jest niedostępna na Androidzie 14 lub starszym. Na urządzeniach z tymi wersjami, jeśli usługa przetwarzania multimediów osiągnie limit czasu, system natychmiast przeniesie aplikację do pamięci podręcznej. Z tego powodu aplikacja nie powinna czekać na powiadomienie o przekroczeniu limitu czasu.
Zamiast tego należy zakończyć usługę na pierwszym planie lub jak najszybciej zmienić ją na usługę działającą w tle.
Aparat
Aplikacje kierowane na Androida 15 lub nowszego nie mogą uruchamiać usługi działających na pierwszym planie aparatu z odbiornika BOOT_COMPLETED
.
Więcej informacji znajdziesz w artykule Ograniczenia dotyczące BOOT_COMPLETED
odbiorników transmisji danych, które uruchamiają 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 BOOT_COMPLETED
odbiorników transmisji danych, które uruchamiają usługi na pierwszym planie.
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 BOOT_COMPLETED
odbiorników transmisji danych, które uruchamiają usługi na pierwszym planie.
Aplikacje kierowane na Androida 15 lub nowszego nie mogą uruchamiać usługi dotyczącej wyświetlania multimediów na pierwszym planie z odbiornika BOOT_COMPLETED
.
Więcej informacji znajdziesz w artykule Ograniczenia dotyczące BOOT_COMPLETED
odbiorników transmisji danych, które uruchamiają usługi na pierwszym planie.
mikrofon
Aplikacje kierowane na Androida 14 (poziom interfejsu API 34) lub nowszego nie mogą uruchamiać usługi na pierwszym planie z mikrofonem z odbiornika BOOT_COMPLETED
.
Więcej informacji znajdziesz w artykule Ograniczenia dotyczące BOOT_COMPLETED
odbiorników transmisji danych, które uruchamiają usługi na pierwszym planie.
Rozmowa telefoniczna
Aplikacje kierowane na Androida 15 lub nowszego nie mogą uruchamiać usługi na pierwszym planie dotyczącej połączeń telefonicznych z poziomu odbiornika BOOT_COMPLETED
.
Więcej informacji znajdziesz w artykule Ograniczenia dotyczące BOOT_COMPLETED
odbiorników transmisji danych, które uruchamiają usługi na pierwszym planie.
Treść strony i umieszczone na niej fragmenty kodu podlegają licencjom opisanym w Licencji na treści. Java i OpenJDK są znakami towarowymi lub zastrzeżonymi znakami towarowymi należącymi do firmy Oracle lub jej podmiotów stowarzyszonych.
Ostatnia aktualizacja: 2025-07-27 UTC.
[[["Łatwo zrozumieć","easyToUnderstand","thumb-up"],["Rozwiązało to mój problem","solvedMyProblem","thumb-up"],["Inne","otherUp","thumb-up"]],[["Brak potrzebnych mi informacji","missingTheInformationINeed","thumb-down"],["Zbyt skomplikowane / zbyt wiele czynności do wykonania","tooComplicatedTooManySteps","thumb-down"],["Nieaktualne treści","outOfDate","thumb-down"],["Problem z tłumaczeniem","translationIssue","thumb-down"],["Problem z przykładami/kodem","samplesCodeIssue","thumb-down"],["Inne","otherDown","thumb-down"]],["Ostatnia aktualizacja: 2025-07-27 UTC."],[],[],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)."]]