If you use viewPager with fragments, you can call safeExit() from onBackPressed() in MainActivity . This is what I did, I never had a problem:
@Override public void onBackPressed() { try { if (getFragmentManager().getBackStackEntryCount() > 1) { FragmentManager.BackStackEntry first = getFragmentManager().getBackStackEntryAt(0); getFragmentManager().popBackStack(first.getId(), FragmentManager.POP_BACK_STACK_INCLUSIVE); } else safeExit(); } catch (Exception e) { e.printStackTrace(); } } private void safeExit() { new Builder(this).setIcon(R.drawable.ic_launcher).setTitle("Exit!").setMessage( "Close Application?").setPositiveButton("Yes", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { MainActivity.this.finish(); } }).setNegativeButton("No", null).show(); }
Purkey
source share