Zmiany w usługach na pierwszym planie

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

Na tej stronie opisujemy niektóre z najnowszych ważnych zmian dotyczących usług na pierwszym planie oraz ich konsekwencje dla aplikacji, które nie są kierowane na najnowszą wersję platformy Androida. 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)

Poniższe zmiany dotyczą aplikacji działających na Androidzie 16 lub nowszym, niezależnie od tego, na jaki poziom API są kierowane:

  • Zadania w tle uruchamiane z usługi na pierwszym planie muszą teraz przestrzegać odpowiednich limitów czasu działania. Obejmuje to zadania zaplanowane bezpośrednio za pomocą JobScheduler, a także zadania utworzone przez inne biblioteki, takie jak WorkManager czy DownloadManager.

    Aby przesyłać 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)

Poniższe wymagania dotyczą aplikacji kierowanych na interfejs API na poziomie 35 lub wyższym:

Android 14 (poziom 34 interfejsu API)

W przypadku aplikacji kierowanych na interfejs API na poziomie 34 lub wyższym obowiązują 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)

W przypadku aplikacji kierowanych na interfejs API na poziomie 30 lub wyższym obowiązują 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 aplikacji działające na pierwszym planie 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 uprawnienia FOREGROUND_SERVICE, system zgłasza błąd SecurityException.