Ho un IntentSerivce
che viene eseguito in background a volte e può essere piuttosto un lungo processo in esecuzione in alcuni casi. Fornisco un'opzione per l'utente per uscire dall'applicazione che fondamentalmente si ferma e interroga e ignora qualsiasi notifica push GCM
. Ma se arriva una notifica push e il IntentService
impiega un po 'di tempo a finire di fare quello che deve (ottiene le informazioni da un server e invia una notifica all'utente se necessario, come un nuovo messaggio arrivato o qualcosa del genere).Fermare un IntentService da un'attività
Qui è il problema, se l'utente decide di "Esci" l'applicazione, mentre il intentservice
è ancora in esecuzione avranno ancora ottenere la notifica che io non voglio. So che esiste il metodo stopSelf()
per il servizio, ma ho bisogno di fermarlo in un'attività quando conosco l'utente "Esci" dall'applicazione tramite un pulsante di menu. L'invio di un'altra intent
al servizio non funziona in quanto gli intenti vengono accodati e chiamando context.stopService(intent);
nella mia attività non funziona neanche così come altro posso fermarlo?
Possibile duplicato di [Forzare un IntentService di fermare immediatamente] (http://stackoverflow.com/questions/11258083/forcing- an-intentservice-to-stop-immediatamente) –