Proper way of dismissing DialogFragment while application is in background

Solution 1:

DialogFragment has a method called dismissAllowingStateLoss()

Solution 2:

This is what I did (df == dialogFragment):

Make sure that you call the dialog this way:

df.show(getFragmentManager(), "DialogFragment_FLAG");

When you want to dismis the dialog make this check:

if (df.isResumed()){
  df.dismiss();
}
return;

Make sure that you have the following in the onResume() method of your fragment (not df)

@Override
public void onResume(){
  Fragment f = getFragmentManager().findFragmentByTag("DialogFragment_FLAG");
  if (f != null) {
    DialogFragment df = (DialogFragment) f;
    df.dismiss();
  }
  super.onResume();
}   

This way, the dialog will be dismissed if it's visible.. if not visible the dialog is going to be dismisded next the fragment becomes visible (onResume)...