What method is being called when I close an app
Asked Answered
K

3

9

I read all about the activity lifecycle and it's methods.

I still couldt find an answer: When I close my app, from the "open apps" menu (in galaxy4 it's a long press on the home button, in nexus5 it's the right button ...) what method is being called? if any?

In other words, my activity is launching a service. I want to terminate the service if the app (activity) is being closed. (onDestory is not reliable at all as said many times here before)

Thanks in advance!

Koball answered 15/7, 2014 at 13:45 Comment(4)
onStop() is always calledCorliss
testit by yourself: set a breakpoint on both methods: onDestroy and onStopAllbee
you wll find answer from this link #24164041Sinuate
@BhaveshJethani is right...onStop() is always called indeed, but as soon as the app goes to background. So it's the wrong place to stop/unbind your Service. Seems that your Service needs to check whether "his" Activity is alive.Understanding
S
5

onPause() is the only method that is called always. From onPause() state Android OS can kill this app for many reasons bypassing onStop and onDestroy. I don't think we can control this behavior of unexpected termination smoothly. Service can check for the state of the application periodically.

Stupefacient answered 15/7, 2014 at 15:2 Comment(0)
B
1

You will go through onPause() then onStop(). On pre-Honeycomb (API 11) devices, your app can be killed at any time after onPause() returns. No more methods called, period. Post-Honeycomb you will at least get onStop().

Buddybuderus answered 15/7, 2014 at 13:49 Comment(2)
I forgot to mention that i want this behavious only when someone stops\kills my app. As far as i understand - onStop will be called in many other cases, in which i dont want to terminate the service.Koball
You won't receive any notification when the task manager kills your app. You get onStop() when your activity is no longer in the foreground then your process can be killed at any time.Buddybuderus
O
0

Locate with life cycle activity, one sugestion: http://developer.android.com/training/basics/activity-lifecycle/stopping.html

The system call the onPause(), after onStop() and last onDestroy(). You must analyze the best form for include your method. Pay attention in this moment.

Orpington answered 15/7, 2014 at 14:1 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.