본문 바로가기
Flutter/Flutter FAQ

Flutter 플러터 애플리케이션이 전면에 있는지 아닌지를 확인하는 방법은 무엇인가요?, How do I check if the Flutter application is in the foreground or not?

by 베타코드 2023. 6. 23.
반응형

질문


I don't want to show notification when the app is in foreground. How can I check live state of my app?


답변


당신의 State<...> 클래스에서는 WidgetsBindingObserver 인터페이스를 구현하고 위젯 상태 변경을 듣도록해야합니다. 다음과 같이:

class _MyHomePageState extends State<MyHomePage> with WidgetsBindingObserver {
  AppLifecycleState? _notification; 
  @override
  void didChangeAppLifecycleState(AppLifecycleState state) {
    setState(() {
      _notification = state;
    });
  }

  @override
  void initState() {
    super.initState();
    WidgetsBinding.instance?.addObserver(this);
    ...
  }

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

그런 다음 상태를 알고 싶을 때는 다음을 확인하십시오.

 _notification.index 속성. _notification == null => 상태 변경이 발생하지 않음, 
0 - 재개, 
1 - 비활성, 
2 - 일시 중지.
반응형

댓글