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!

nivklein
  • 91
  • 1
  • 1
  • 3

3 Answers3

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.

ashishpinninti
  • 142
  • 1
  • 3
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().

Larry Schiefer
  • 15,687
  • 2
  • 27
  • 33
  • 1
    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. – nivklein Jul 15 '14 at 13:55
  • 1
    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. – Larry Schiefer Jul 15 '14 at 13:56
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.

Loures
  • 433
  • 3
  • 10