애플리케이션 Foreground 확인

애플리케이션이 Foreground 를 확인 해야 할 때는 많습니다.

  • 안드로이드 사용자중 홈버튼으로 앱을 종료 시키는 사람이 의외로 많다.
  • 백그라운드 동작을 허용하지 않기 위해서는 포그라운드 인지 백그라운드 인지 확인을 해야 한다.
  • api 26이 나오면서 권한 없이 사용 가능한 방법이 생겼다.
  • Application.ActivityLifecycleCallbacks 를 이용하는 방법
  • Application 상속받은 클래스에서 위 클래스를 구현해 주면 됩니다.
  • 사용은 애플리케이션 상속 받은 코드에서 init 을 호출해서 사용하면 됩니다.
  • 
        class OnApplication: Application() {
            override fun onCreate() {
                super.onCreate()
                Foreground.init(this)
                    
            }
        }
    
    
  • 애프리케이션 생성자에서 클래스를 초기화 합니다.
  • 싱글톤 클래스라서 사용은 편하게 하시면 됩니다. 아래 처럼 원하는걸로 편하게 사용하면 됩니다.
    • Foreground.get().isBackground
    • Foreground.get().appStatus
  • 전체 코드는 아래에 있습니다.
    • 간단한 동작 설명
      • onActivityStarted 추가 되면 카운트 +1
      • onActivityStopped 추가 되면 카운트 -1
      • 카운트가 0 이면 백그라운드
      • 카운트가 1 보다 크면 포그라운드
      • 카운트가 1 이면 포그라운드 전환

PyeongHo

즐겁게 또 즐겁게