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) {
  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!();
      }
    }
  }
}