didChangeAppLifecycleState method
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:
      if (mounted) {
        setState(() {
          appInBackground = false;
          _disposed = false;
        });
      }
      break;
    case AppLifecycleState.hidden:
    case AppLifecycleState.inactive:
    case AppLifecycleState.paused:
    case AppLifecycleState.detached:
      if (mounted) {
        setState(() {
          appInBackground = true;
        });
      }
      _disposeCameraChannel();
      break;
  }
}