본문 바로가기

Flutter & Dart

[Flutter]플러터 AppLifecycleState, 라이프사이클 체크하기

반응형

내 앱의 백그라운드, 포그라운드 등의 상태를 알수 있는 방법은 ? 

 

  @override
  void onInit() async {
    super.onInit();
    WidgetsBinding.instance.addObserver(this);    
  }

  @override
  void dispose() {
    WidgetsBinding.instance.removeObserver(this);
    super.dispose();
  }

 

Init 에 WidgetsBinding.instance.addObserver(this); 를 추가해준다.

dispose 할때도 WidgetsBinding.instance.removeObserver(this); 를 추가한다.

 

  @override
  void didChangeAppLifecycleState(AppLifecycleState state) async {
    super.didChangeAppLifecycleState(state);
    if (state == AppLifecycleState.resumed) {      
      print('LifecycleState: resumed');
    }
    if (state == AppLifecycleState.detached) {
      print('LifecycleState: detached');
    }
    if (state == AppLifecycleState.inactive) {
      print('LifecycleState: inactive');
    }
    if (state == AppLifecycleState.paused) {
      print('LifecycleState: paused');
    }
  }

 

@override
  void didChangeAppLifecycleState(AppLifecycleState state) 를 추가하여 현재 앱의 라이프사이클을 체크 할 수 있다.

 

반응형