Comment arrêter intentservice dans android?
Quelqu'un pourrait-il me dire comment faire pour arrêter intentservice
dans Android?
Si j'utilise stopservice
pour arrêter une intentservice, il ne fonctionne pas.
J'ai parcouru le site, mais personne n'a donné de réponse claire à cette question.
OriginalL'auteur user1127497 | 2012-01-03
Vous devez vous connecter pour publier un commentaire.
Essayez d'appeler
stopSelf()
à partir de l'intérieur du service. Le la documentation dit que certains processus peut prendre un certain temps, de sorte que votre service est le plus susceptible d'attente pour eux d'arrêter. Vous devriez probablement regarder dans que. Une fois que toutes les demandes sont complètes, le service s'arrête de lui-même.Comme je l'ai dit, si
stopService
ne vous aide pas, un processus est à l'accaparer.protected abstract void onHandleIntent (Intent intent) Since: API Level 3 This method is invoked on the worker thread with a request to process. Only one Intent is processed at a time, but the processing happens on a worker thread that runs independently from other application logic. So, if this code takes a long time, it will hold up other requests to the same IntentService, but it will not hold up anything else. When all requests have been handled, the IntentService stops itself, so you should not call stopSelf().
Voulez-vous dire Si je l'appelle stopService, une intention sera envoyer à intentservice. Si intentservice ont déjà plusieurs l'intention de la file d'attente, "stopservice l'intention de" ne sera pas la poignée jusqu'à ce que ces intentions sont-elles gérées?
Qui est correct.
En fait, je trouve juste que si vous appelez stopSelf() au sein de votre intentService quand il y a encore les intentions de l'attente dans la file d'attente du service, l'attente des intentions de n'exécuter. Donc, je ne pense pas que vous devriez appeler stopSelf (), sauf si vous voulez que votre service arrêtez immédiatement après qu'il a terminé son travail.
OriginalL'auteur Tomislav Markovski
La
IntentService
est construit de s'arrêter quand le dernier Intention est gérée paronHandleIntent(Intent)
- c'est à dire que vous n'avez pas besoin de l'arrêter, il s'arrête d'elle-même quand il est fait.OriginalL'auteur Jens
Selon la la documentation Android arrête le service de toutes les demandes ont été traitées, de sorte que vous ne jamais avoir à appeler stopSelf().
OriginalL'auteur Mus
Tardive réponse au cas où quelqu'un a le même problème. Si vous appelez
<yourContext>.stopService(intent)
oùintent
est le même intention de l'objet que vous avez utilisé pour démarrer le service, alors cela va fonctionner.OriginalL'auteur Nonos
Un IntentService est conçu pour s'arrêter que lorsque toutes les requêtes présentes dans la file d'attente de travail ont été traités.Comme par docs,IntentService classe "Arrête le service après tout, le début de demandes sont traitées, de sorte que vous ne jamais avoir à appeler stopSelf()"
OriginalL'auteur Shinoo Goyal
L'intention des services d'arrêter automatiquement avec
seulement lorsque toutes les demandes présents dans la file d'attente de travail ont été traités.
OriginalL'auteur Rahul