2014-07-15 20 views
6

Ho letto tutto sul ciclo di vita dell'attività e sui suoi metodi.Quale metodo viene chiamato quando chiudo un'app

ho ancora couldt trovare una risposta: Quando chiudo la mia app, dal menu "applicazioni aperte" (in galaxy4 si tratta di una lunga pressione sul tasto home, in nexus5 è il tasto destro ...) quale metodo è essere chiamato? se del caso?

In altre parole, la mia attività sta lanciando un servizio. Voglio terminare il servizio se l'app (attività) viene chiusa. (onDestory non è affatto affidabile come già detto molte volte prima)

Grazie in anticipo!

+1

onStop() è sempre chiamato – EpicPandaForce

+1

testit da soli: impostare un punto di interruzione in entrambi i metodi: OnDestroy e onStop – TheOnlyJakobob

+1

si wll trovare risposta da questo link http://stackoverflow.com/questions/24163541/application-swipe-to- remove-app-recent-app-list –

risposta

1

Si passerà attraverso onPause() quindi onStop(). Su dispositivi pre-Honeycomb (API 11), l'app può essere eliminata in qualsiasi momento dopo i resi di onPause(). Non più metodi chiamati, punto. Post-Honeycomb avrai almeno lo onStop().

+1

Ho dimenticato di dire che voglio questo comportamento solo quando qualcuno si ferma \ uccide la mia app. Per quanto ho capito - onStop sarà chiamato in molti altri casi, in cui non voglio terminare il servizio. – nivklein

+0

Non riceverai alcuna notifica quando il task manager uccide la tua app. Ottieni 'onStop()' quando la tua attività non è più in primo piano, quindi il tuo processo può essere ucciso in qualsiasi momento. –

4

onPause() è l'unico metodo che viene chiamato sempre. Da onPause() stato Android OS può uccidere questa app per molte ragioni aggirando onStop e onDestroy. Non penso che possiamo controllare senza problemi questo comportamento di interruzione imprevista. Il servizio può controllare periodicamente lo stato dell'applicazione.

Problemi correlati