FrontEnd/Android
[Android] 현재 Activity의 Foreground/Background 상태 확인
Satisfaction
2020. 8. 6. 21:35
Activity Lifecycle을 살펴보면
Activity가 Running 상태이다가
다른 액티비티가 위로 올라오면 onPause()로 진입하고
현재 액티비티가 보이지 않는 상태가 되면 onStop()으로 진입한다.
다시 유저가 해당 액티비티로 돌아오면 시점에 따라서
onRestart()-> onStart()-> onResume() 또는
onCreate()-> onStart()-> onResume() 또는
onResume() 의 순으로 라이프사이클이 굴러간다.
다시 액티비티가 포그라운드로 돌아 왔을 때 onResume()은 반드시 실행된다는 점을 알고 적용해보자
public class SimpleActivity extends FragmentActivity{ //Lifecycle Phase에 따라 바뀌는 변수 private boolean isActivityForeground= false; //액티비티가 생성됨 @Override void onCreate(){ //... isActivityForeground= true; } //액티비티가 running 상태로 돌입하기 직전 @Override void onResume(){ isActivityForeground= true; } //사용자가 액티비티를 종료하거나 다른 액티비티로 이동했을 때 진입 @Override void onPause(){ isActivityForeground= false; } }
위의 코드를 이용하면 다른 메소드에서 현재 액티비티가 어떤 상태인지 알 수 있게 된다