Zmiany w usługach na pierwszym planie

Dokumentacja usługi na pierwszym planie opisuje bieżące działanie usług na pierwszym planie w Androidzie. Dokumentacja zawiera wskazówki dotyczące sprawdzonych metod dla większości aplikacji, niezależnie od tego, czy są one kierowane na najnowszą wersję Androida.

Ta strona zawiera opis niektórych ostatnich ważnych zmian w usługach na pierwszym planie oraz ich wpływ na aplikacje, które nie są kierowane na najnowszą wersję platformy Android. W wielu przypadkach sprawdzone metody, które były opcjonalne w przypadku aplikacji kierowanych na niższe poziomy interfejsu API, stają się obowiązkowe w przypadku aplikacji kierowanych na wyższe poziomy interfejsu API.

Android 16 (poziom 36 interfejsu API)

Te zmiany dotyczą aplikacji działających na Androidzie 16 lub nowszym, niezależnie od poziomu interfejsu API:

  • Zadania w tle uruchamiane przez usługę na pierwszym planie muszą teraz przestrzegać odpowiednich limitów czasu działania. Dotyczy to zadań zaplanowanych bezpośrednio za pomocą interfejsu JobScheduler, a także zadań utworzonych przez inne biblioteki, takie jak WorkManager czy DownloadManager.

    Aby przenosić dane w odpowiedzi na działanie użytkownika, rozważ użycie zadania przesyłania danych inicjowanego przez użytkownika. Te zadania nie są objęte zwykłymi limitami zadań.

Android 15 (poziom 35 interfejsu API)

Aplikacje kierowane na interfejs API na poziomie 35 lub wyższym muszą spełniać te wymagania:

Android 14 (poziom 34 interfejsu API)

Aplikacje kierowane na interfejs API na poziomie 34 lub wyższym muszą spełniać te wymagania:

Android 12 (poziom 31 interfejsu API)

W przypadku aplikacji kierowanych na interfejs API na poziomie 31 lub wyższym obowiązują te wymagania:

Android 11 (poziom 30 interfejsu API)

Aplikacje kierowane na interfejs API na poziomie 30 lub wyższym muszą spełniać te wymagania:

Android 10 (poziom 29 interfejsu API)

W przypadku aplikacji kierowanych na interfejs API na poziomie 29 lub wyższym obowiązują te wymagania:

  • Jeśli usługi na pierwszym planie aplikacji korzystają z informacji o lokalizacji, aplikacja musi zadeklarować usługę z typem usługi location.

Android 9 (poziom 28 interfejsu API)

Android 9 wprowadza uprawnienie FOREGROUND_SERVICE. Aplikacje działające na Androidzie 9, które korzystają z usług na pierwszym planie, muszą mieć to uprawnienie.

Jeśli aplikacja kierowana na interfejs API na poziomie 28 lub wyższym próbuje utworzyć usługę na pierwszym planie bez prośby o uprawnienia FOREGROUND_SERVICE, system zwraca błąd SecurityException.