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) {
final cameraController = controller.cameraController;
if (cameraController == null || !cameraController.value.isInitialized) {
return;
}
if (state == AppLifecycleState.inactive && !_isControllerDisposed) {
_isControllerDisposed = true;
stopCamera();
} else if (state == AppLifecycleState.resumed) {
_isControllerDisposed = false;
_initController();
}
super.didChangeAppLifecycleState(state);
}