# didChangeAppLifecycleState method

1. @override

void didChangeAppLifecycleState(

1. AppLifecycleState state

)
override

Called when the system puts the app in the background or returns the app to the foreground.

An example of implementing this method is provided in the class-level documentation for the WidgetsBindingObserver class.

This method exposes notifications from SystemChannels.lifecycle.

See also:

- AppLifecycleListener, an alternative API for responding to application lifecycle changes.

## Implementation

    @override
    void didChangeAppLifecycleState(AppLifecycleState state) {
      if (!widget.configuration.handleCameraInAppBackgroundAutomatically) {
        return;
      }
      switch (state) {
        case AppLifecycleState.resumed:
          setState(() {
            appInBackground = false;
          });
          break;
        case AppLifecycleState.hidden:
        case AppLifecycleState.inactive:
        case AppLifecycleState.paused:
        case AppLifecycleState.detached:
          setState(() {
            appInBackground = true;
          });
          _disposeCameraChannel();
          break;
      }
    }