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:

Implementation

@override
void didChangeAppLifecycleState(AppLifecycleState state) {
  final CameraController? cameraCtrl = cameraController;
  // App state changed before we got the chance to initialize.
  if (cameraCtrl == null || !cameraCtrl.value.isInitialized) {
    return;
  }
  if (state == AppLifecycleState.inactive && !isPickingPhoto.value) {
    isInActive(true);
    flashMode.value = FlashMode.off;
    cameraCtrl.setFlashMode(FlashMode.off);
    cameraCtrl.dispose();
    update(['camera']);
  } else if (state == AppLifecycleState.resumed && !isPickingPhoto.value) {
    isInActive(false);
    onNewCameraSelected(cameraCtrl.description);
  }
}