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) {
var lastActive = isActive;
if (state == AppLifecycleState.resumed) {
isActive = true;
} else if (state == AppLifecycleState.detached ||
state == AppLifecycleState.paused ||
state == AppLifecycleState.inactive) {
isActive = false;
}
if (lastActive != isActive) {
if (onChanged != null) {
onChanged!(isActive);
}
if (isActive) {
if (onForeground != null) {
onForeground!();
}
} else {
if (onBackground != null) {
onBackground!();
}
}
}
}