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) {
  super.didChangeAppLifecycleState(state);

  if (!_enabled) {
    return;
  }

  if (state == AppLifecycleState.hidden && !_locked) {
    _backgroundLockLatencyTimer?.cancel();
    _backgroundLockLatencyTimer =
        Timer(widget.backgroundLockLatency, () => showLockScreen());
  }

  if (state == AppLifecycleState.resumed) {
    _backgroundLockLatencyTimer?.cancel();
  }

  setState(() {
    _inactive = state == AppLifecycleState.inactive;
  });
}