public static boolean isApplicationSentToBackground(final Context context) {
      ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
      List<RunningTaskInfo> tasks = am.getRunningTasks(1);
      if (!tasks.isEmpty()) {
        ComponentName topActivity = tasks.get(0).topActivity;
        if (!topActivity.getPackageName().equals(context.getPackageName())) {
          return true;
        }
      }

      return false;
    }

 

onPause()를 오버라이드 해서

 

 

boolean temp = isApplicationSentToBackground(this);

 

사용하면 된다.

 

true일때는 사용자가  홈버튼을 눌렀을때 혹은 앱을 나갔을때

 

false일때는 나가지 않고 activity로 이동


라고...하는데...테스트는 안해봐서 모르겠네...조만간 쓸일이 있을거 같기는 한데...혹시 몰라 가져 왔음...


출처:

http://hackss.tistory.com/entry/%EC%95%B1-%EC%A2%85%EB%A3%8C-%EC%8B%9C%EC%A0%90%EC%95%8C%EA%B8%B0-%EC%95%B1%EC%A2%85%EB%A3%8C%EC%9D%B8%EC%A7%80-%EC%95%84%EB%8B%88%EB%A9%B4-Activity%EB%81%BC%EB%A6%AC-%EC%A0%84%ED%99%98%EC%9D%B8%EC%A7%80-%EA%B5%AC%EB%B6%84

복사했습니다!