Mam IntentSerivce
, który działa czasami w tle i może to być dość długi proces w niektórych przypadkach. Dajemy użytkownikowi opcję zamknięcia aplikacji, która zasadniczo zatrzymuje się i odpytuje i ignoruje wszystkie powiadomienia push. Ale jeśli pojawi się powiadomienie push i IntentService
zajmie trochę czasu, aby zakończyć to, co musi (pobiera informacje z serwera i wysyła powiadomienie do użytkownika, jeśli jest to potrzebne, jak nadejdzie nowa wiadomość lub coś takiego).Zatrzymywanie IntentService z działania
Oto problem, jeśli użytkownik wybierze opcję "Zamknij" aplikację, gdy intentservice
nadal będzie działać, nadal otrzyma powiadomienie, którego nie chcę. Wiem, że istnieje metoda stopSelf()
dla usługi, ale muszę zatrzymać ją w działaniu, gdy wiem, że użytkownik "Zamknij" aplikację za pomocą przycisku menu. Wysłanie innej usługi intent
do usługi nie działa, ponieważ intencje stają się w kolejce i wywoływanie context.stopService(intent);
w mojej aktywności nie działa tak jak i jak mogę to zatrzymać?
Możliwy duplikat [Wymuszenie IntentService do natychmiastowego zatrzymania] (http://stackoverflow.com/questions/11258083/forcing- an-intentservice-to-stop-natychmiast) –