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(mounted) {
    switch (state) {
      case AppLifecycleState.resumed:
        Log(tag).i("app in resumed");
        startTimer();
        break;
      case AppLifecycleState.inactive:
        Log(tag).i("app in inactive");
        sendViewTime("mrc");
        cancelTimer();
        break;
      case AppLifecycleState.paused:
        Log(tag).i("app in paused");
        sendViewTime("mrc");
        cancelTimer();
        break;
      case AppLifecycleState.detached:
        Log(tag).i("app in detached");
        cancelTimer();
        break;
      case AppLifecycleState.hidden:
        Log(tag).i("app in hidden");
        cancelTimer();
        break;
    }
  }
}