Can you please explain which activity life cycle method is called when a dialog comes on the application? I'm confused whether its is calling onResume() or onPause() method.
Thanks
Can you please explain which activity life cycle method is called when a dialog comes on the application? I'm confused whether its is calling onResume() or onPause() method.
Thanks
OnPause() is not called in all types of dialogs.
For Example, when an AlertDialog or DialogFragment is used, it will never call OnPause(), since they are a part of the activity.
However, if a dialog appears from System for a permission or some other app shows a Dialog over the activity it will only call OnPause() since a new activity isn't started and only the foreground focus is shifted from the activity to the Dialog Box.
For Example, when we enable Whatsapp to send a message popup, if the popup comes while your activity is running, it will call OnPause() only.
You should try this on your own for better understanding.
Watch out, few of proposed answers are wrong. This old one have most of truth, but not whole truth. And that new one seems to complement my answer (haven't checked by myself).
This is not true that onPause is called after dialog appears. This dialog would have to be written on separate Activity to cause onPause call. But dialogs are usually written on DialogFragment from support library - reference
you should use a DialogFragment as a container for your dialog
Check also: Android: Under what circumstances would a Dialog appearing cause onPause() to be called?
onPause is not called because you are still in current activity, so when you are showing dialog on current activity no activity life cycle method will called.
Activity inside if open any dialog, then that dialog not affect to activity life cycle. so i already try this one. so onPause() not called. if any doubt please implement your self you can get more clarity.
This answer isn't fully correct
Check other answers below for better info. it was accepted a long time ago and I can't delete it.
First you should understand the Android Lifecycle.
As you can see, onPause in called when the activity is Paused, which is when your dialog appears, and onResume after you come back to the activity, when it get focus again.
As another user suggested, you can use some Log tags to see what is happening on the console or Toasts to see it on the screen: How do I write outputs to the Log in Android?
it calls onPause()
When a dialog comes on top of an existing activity, then existing activity will move to partially invisible state by calling onPause().