Klasa IntentService zapewnia prostą strukturę do uruchamiania
    operacji w pojedynczym wątku w tle. Dzięki temu może obsługiwać długotrwałe operacje
    bez wpływu na szybkość reagowania interfejsu. Ponadto
    Większość zdarzeń cyklu życia interfejsu użytkownika nie ma wpływu na IntentService, dlatego
    nadal działa w sytuacjach, które spowodowałyby wyłączenie AsyncTask
    Element IntentService ma kilka ograniczeń:
- 
        Nie może wchodzić w bezpośrednią interakcję z interfejsem. Aby umieścić wyniki w interfejsie,
        wysłać je do Activity.
- 
        Żądania robocze są uruchamiane po kolei. Jeśli operacja jest wykonywana w
        IntentService, a Ty wyślesz do niej kolejną prośbę, poczeka, aż pierwsza operacja jest zakończona.
- 
        Nie można przerwać operacji uruchomionej na elemencie IntentService.
    W większości przypadków jednak preferowanym sposobem działania jest IntentService
    i prostych operacji w tle.
Z tego przewodnika dowiesz się, jak:
- Utwórz własną podklasę klasy IntentService.
- Utwórz wymaganą metodę wywołania zwrotnego onHandleIntent().
- Zdefiniuj IntentServicew pliku manifestu.
Obsługa intencji przychodzących
    Aby utworzyć komponent IntentService dla aplikacji, zdefiniuj klasę, która
    rozszerza metodę IntentService i w niej definiuje metodę, która
    zastępuje wartość onHandleIntent(). Na przykład:
Kotlin
class RSSPullService : IntentService(RSSPullService::class.simpleName) override fun onHandleIntent(workIntent: Intent) { // Gets data from the incoming Intent val dataString = workIntent.dataString ... // Do work here, based on the contents of dataString ... } }
Java
public class RSSPullService extends IntentService { @Override protected void onHandleIntent(Intent workIntent) { // Gets data from the incoming Intent String dataString = workIntent.getDataString(); ... // Do work here, based on the contents of dataString ... } }
    Zwróć uwagę, że inne wywołania zwrotne zwykłego komponentu Service, takie jak
    Pole onStartCommand() jest wywoływane automatycznie przez
    IntentService IntentService: należy unikać
    i zastępować te wywołania zwrotne.
Aby dowiedzieć się więcej o tworzeniu IntentService, zapoznaj się z artykułem Przedłużanie
IntentService.
Określ usługę intencji w pliku manifestu
    IntentService wymaga też wpisu w manifeście aplikacji.
    Udostępnij ten wpis jako
    <service>
    który jest elementem podrzędnym tagu
    Element 
    <application>:
<application android:icon="@drawable/icon" android:label="@string/app_name"> ... <!-- Because android:exported is set to "false", the service is only available to this app. --> <service android:name=".RSSPullService" android:exported="false"/> ... </application>
    Atrybut android:name określa nazwę klasy klasy
    IntentService
    Zwróć uwagę, że
    <service>
    element nie zawiera
    filtr intencji. 
    Activity, który wysyła do usługi żądania służbowe, używa
    jednoznacznie Intent, więc filtr nie jest potrzebny. To także
    oznacza, że tylko komponenty znajdujące się w tej samej aplikacji lub w innych aplikacjach z tagiem
    użytkownik o tym samym identyfikatorze użytkownika może uzyskać dostęp do usługi.
    Po utworzeniu podstawowych zajęć w usłudze IntentService możesz wysyłać prośby o pracę
    za pomocą Intent obiektów. Procedura tworzenia tych obiektów
    i wysyłanie ich na urządzenie IntentService opisano w
    Wysyłanie próśb o pracę do usługi w tle.
